JS中的类
一,编程思想有两种:面向对象和面向过程
下面比较一下两种思想
-
面向对象
抽取过程中的对象,为每个对象添加方法,然后调用对象中的方法。
复用性强,便于维护,运行效率低 -
面向过程
将过程拆分步骤,每个步骤封装成一个函数,
依次调用这些函数。
运行效率高,复用性弱,不利于维护
二,面向对象思想
- 抽取对象的公共部分封装成类
- 通过new方法实例化类生成对象
- 通过对象调用类中封装的方法
三,类的创建和实例化
class name{
constructor(){
}
}
var name = new name();
在类中添加函数是函数之间不需要加逗号
在类中定义方法不需要function关键字
四,类的继承
- 子类和父类
class father{
}//父类
class son extends father{
}//子类
子类可以继承父类中的方法和属性
子类中同名的方法和属性会覆盖来自父类的
- super关键字
由于this的指向问题
super关键字可以调用父类中的函数
super必须放在构造函数的最开始的位置
五,类和对象的三个注意点
- 必须先定义类,才可以实例化对象
- 类中共有的属性和方法在使用时要加this
- this的指向问题