首页 > 其他 > 详细

ES6 类 class 继承 extends 构造函数 constructor()

时间:2020-04-08 23:53:07      阅读:184      评论:0      收藏:0      [点我收藏+]

class Star {
    // constructor 函数,可以接受传递过来的参数,同时返回实例对象
    // constructor 函数,只要 new 生成实例时,就会自动调用这个函数,如果不写类也会自动生成
    constructor(uname) {
        this.uname = uname;
    }
    // 创建方法
    print(content) {
        return content + this.uname;
    }
};
var zs = new Star(‘zs‘);
zs.print(‘hello world‘); // 调用

constructor 构造函数

constructor() 是类的构造函数(默认方法),用于传递参数,返回实例对象;通过new命令生成对象实例时,自动调用该方法,如果没有显示定义,类内部会自动创建一个 constructor()

继承

class Father {
    constructor(x, y) {
        this.x = x;
        this.y = y;
    }
    sum() {
        console.log(this.x + this.y);
        // console.log(1 + 2);
    }
}
class Son extends Father {
    // 子类中没有 constructor 构造方法时,并且父类中的方法没有涉及到父类中的 constructor 子类是可以直接通过 extends 来继承父类身上的方法的
    constructor(uname) { 
        // 如果运用到了父类中的构造函数 constructor 子类想再次调用则需要 子类也声明 constructor 构造函数并且通过 super() 方法传递想要的参数,进行计算
        super(11, 22); // super() 方法必须写到子类构造方法中的最前面,高于自身的this
        this.uname = uname;
    }
    // 如果子类中存在于父类相同的方法,调用时就近原则
    sum() {
        console.log(2 + 2);
        // 也可以通过super()方法直接调用 父类中的sum方法
        super.sum();
    }
    // 子类可以拓展自己的方法
    print() {
        console.log(this.uname);
    }
}
var son = new Son();
1. son.sum(); // 3
2. son.sum(); // 33
3. son.sum(); // 4 33

ES6 类 class 继承 extends 构造函数 constructor()

原文:https://www.cnblogs.com/article-record/p/12663731.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!