面向对象值封装

(一) js面向对象编程(oop)

  1. 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。
  2. 面向对象编程三大要素: 封装、多态、继承

(二) 面向对象编程之封装

  1. 封装: 就是把属性和方法都封装到一个对象里
  2. 创建对象的几种方式

    1. (1)字面量的方式
    2. (2)构造函数的方式
    3. (3)自定义对象的方式
    4. (4)工厂模式
    5. (5)原型链模式
    1. <script>
    2. // 1.字面量方式创建对象
    3. var obj1 = {
    4. a: 2,
    5. b: 3
    6. };
    7. // 2.使用构造函数创建对象
    8. var obj = new Object();
    9. obj.name = '张三';
    10. obj.sayName = function() {
    11. console.log(this.name);
    12. }
    13. // 3.自定义构造函数
    14. function CreateGf(name, height, sex, age) {
    15. this.name = name;
    16. this.height = height;
    17. this.sex = sex;
    18. this.age = age;
    19. this.sayName = function() {
    20. console.log('我叫' + this.name);
    21. }
    22. }
    23. var gf = new CreateGf('王冰冰', 168, '女', 18);
    24. console.log('gf', gf);
    25. // var gf2 = new CreateGf('李冰冰', 168, '女', 18);
    26. // console.log('gf2', gf2);
    27. // 4.工厂模式(批量制造)创建对象,相对比2的方法,创建2个对象时,sayName方法不需要写两遍
    28. function madeCat(name, age) {
    29. var obj = new Object();
    30. obj.name = name;
    31. obj.age = age;
    32. obj.sayName = function() {
    33. console.log(obj.name);
    34. }
    35. return obj;
    36. }
    37. var cat1 = madeCat('小白', 2);
    38. var cat2 = madeCat('小花', 3);
    39. // 5. 原型模式创造对象,详看继承一节
    40. </script>
  3. 判断对象归属(亲子鉴定)

(三) 面向对象编程之多态

多态:允许将子类类型的指针赋值给父类类型的指针;原生JS是弱类型语言,没有多态概念.