一.面向对象
理解:面向对象本身是一种编程思想,并不是具体的属性或者方法,class类是实现面向对象思想的一种方式
特性:1.封装 2.继承 3.多态
封装:把实现好的功能分装起来
继承(最重要的特性):在实现同一个功能前提下,新的对象可以使用旧对象的属性或者方法
多态:不同情况下返回不同结果(传入参数的不同来返回不同结果)
二.ES5中类
坏例子:
坏处:
1.违背继承原则
2.所生成对象臃肿,每个生成对象都包含所有属性和方法
好例子:
通过原型链的方式实现继承
三.ES6中类
与原型链写法区别:没有区别,es6本质也是通过原型链实现类,也可以说成是es5的语法糖
四.属性和私有属性
get:
set:
例子:
五.ES5和ES6如何操作方法(对象实例的方法和类的静态方法
类的对象实例方法
静态方法
静态方法和实例对象方法区别:
1.静态方法挂载在类上
2.实例对象方法挂载在实例上
静态方法使用时机:
当定义的方法不会使用或者涉及实例中的内容时使用(类的静态方法拿不到当前的实例对象),
反之使用对象实例方法
六.类的继承