面向对象
面向对象是一种编程思想
面向对象
核心:类和对象
类:类型、数据类型、一个概念、一个代号。描述一类事物的一个概念
对象:某种类型一个具体存在的实体[实际存在的物体],物体就具有自己的特征[属性]和行为[方法]
类是一类对象抽取出来共同的特征和行为的一个概念、
对象是类的一个实体存在的具体的事物
特性:
1.封装零散的数据,方便数据的统一管理和支配使用
2.有利于提高代码的复用性、降低代码之间的耦合性、提升功能的扩展性;
特征:
封装、继承、多态
使用:
构造函数
JS模拟面向对象,出现的一个概念
专门被用来创建对象
和new关键字一起使用!
function Type(参数) {
this.属性 = 属性值;
}
var t = new Type();
名称:帕斯卡命名法
构造函数——原型对象——prototype
用来构建和挂载构造函数对应的对象公共的属性和行为函数的!
继承~
核心:类和对象
类:类型、数据类型、一个概念、一个代号。描述一类事物的一个概念
对象:某种类型一个具体存在的实体[实际存在的物体],物体就具有自己的特征[属性]和行为[方法]
类是一类对象抽取出来共同的特征和行为的一个概念、
对象是类的一个实体存在的具体的事物
特性:
1.封装零散的数据,方便数据的统一管理和支配使用
2.有利于提高代码的复用性、降低代码之间的耦合性、提升功能的扩展性;
特征:
封装、继承、多态
使用:
构造函数
JS模拟面向对象,出现的一个概念
专门被用来创建对象
和new关键字一起使用!
function Type(参数) {
this.属性 = 属性值;
}
var t = new Type();
名称:帕斯卡命名法
构造函数——原型对象——prototype
用来构建和挂载构造函数对应的对象公共的属性和行为函数的!
继承~
什么是继承:
在继承中,会出现两个类型【父类、子类,子类继承父类的属性和行为】
继承是用来做什么的:
继承是通过子类继承父类实现父类中代码的重复利用!
继承的使用注意事项:
尽量让一个父类有一个或者多个子类
一个子类只继承一个父类
继承的第一种方式:通过apply/call实现假继承
apply/call方法都是通过改变函数中第一个参数的指向来达到扩展代码功能的目的
唯一的区别就是apply和call后面的参数不一样!
在继承中,会出现两个类型【父类、子类,子类继承父类的属性和行为】
继承是用来做什么的:
继承是通过子类继承父类实现父类中代码的重复利用!
继承的使用注意事项:
尽量让一个父类有一个或者多个子类
一个子类只继承一个父类
继承的第一种方式:通过apply/call实现假继承
apply/call方法都是通过改变函数中第一个参数的指向来达到扩展代码功能的目的
唯一的区别就是apply和call后面的参数不一样!
apply/call实现的假继承,这两个方法的作用和区别
apply(args, [])
call(args, ...obj)
常规情况下,对于对象的封装
将属性封装在构造函数的内部
将行为定义到构造函数的prototype上面
通过Prototype原型对象和空对象结合使用来实现完整的继承!
Animal(){}
F() {}
prototype ==== prototype
Cat() {}
new F() === prototype