1.创建类
①创建一个类是使用class关键字实现的,类名我们还是习惯性定义首字母大写
②每个类中都有一个constructor函数(默认方法),用于传递参数,返回实例对象
③constructor函数,只要new生成实例时 会自动进行调用。如果我们不写这个函数,类内部会自动给我们创建一个constructor()
④生成实例new不能省略
⑤创建类时,类名后面不要加小括号,生成实例时类名后面要加小括号,构造函数不需要加function,多个方法函数之间不要加逗号
class Father {
constructor( uname , age ){
this.uname= '张飞' ;
this.age =18; } }
var zhangsan=new Father('小头爸爸',30 );
⑥类中添加方法
直接在构造函数中写即可
say(){
console.log('你好!')}
2.而继承类中的属性和方法是通过extends关键字
class Son extends Father{
} //这里对父类的属性进行了继承
var son=new Son(); //初始化son实例,这时的实例可以直接调用父类的属性和方法
console.log( son.uname ); //打印出来的结果是 '张飞'
3.使用super关键字访问父类中属性和方法
super相当于调用了父类中的构造函数constructor,也可以调用父类中的普通函数。


子类继承父类的方法的同时扩展自己的方法
这里要注意的点是,super必须在子类this之前调用

4.继承原则
①继承中的属性或者方法查找原则:就近原则
②继承中,如果实例化子类输出一个方法,先看子类有没有这个方法,如果有就先执行子类的
③如果子类中没有,就去查找父类中有没有这个方法,如果有就执行父类的这个方法
类和对象的三个注意点
①在ES6中类没有变量提升,所以必须先定义类,才能通过类实例化对象
②类里面共用的属性和方法一定要加this使用
③类里面的this指向问题
constructor里面的this指向的是创建的实例对象
方法里的this指向的是调用者------如果是实例对象调用了就指向实例对象,如果是一个按钮,那么就是指向这个按钮
网友评论