面向对象值封装
(一) js面向对象编程(oop)
- 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。
- 面向对象编程三大要素: 封装、多态、继承
(二) 面向对象编程之封装
- 封装: 就是把属性和方法都封装到一个对象里
创建对象的几种方式
(1)字面量的方式
(2)构造函数的方式
(3)自定义对象的方式
(4)工厂模式
(5)原型链模式
<script>
// 1.字面量方式创建对象
var obj1 = {
a: 2,
b: 3
};
// 2.使用构造函数创建对象
var obj = new Object();
obj.name = '张三';
obj.sayName = function() {
console.log(this.name);
}
// 3.自定义构造函数
function CreateGf(name, height, sex, age) {
this.name = name;
this.height = height;
this.sex = sex;
this.age = age;
this.sayName = function() {
console.log('我叫' + this.name);
}
}
var gf = new CreateGf('王冰冰', 168, '女', 18);
console.log('gf', gf);
// var gf2 = new CreateGf('李冰冰', 168, '女', 18);
// console.log('gf2', gf2);
// 4.工厂模式(批量制造)创建对象,相对比2的方法,创建2个对象时,sayName方法不需要写两遍
function madeCat(name, age) {
var obj = new Object();
obj.name = name;
obj.age = age;
obj.sayName = function() {
console.log(obj.name);
}
return obj;
}
var cat1 = madeCat('小白', 2);
var cat2 = madeCat('小花', 3);
// 5. 原型模式创造对象,详看继承一节
</script>
判断对象归属(亲子鉴定)
(三) 面向对象编程之多态
多态:允许将子类类型的指针赋值给父类类型的指针;原生JS是弱类型语言,没有多态概念.