1、类的创建和使用
用一个具体的小案例来说明
// 1.创建类 class 创建一个 明星类 class Star { // 类的共有属性放到 consturctor 里面 constructor(uname,age) { this.name = uname; this.age = age } sing(song) { console.log(this.name+song); } } // 2.利用类创建对象 new let gjl = new Star('gjl',18); let gyy = new Star('gyy',19); console.log(gjl); //gjl,18 console.log(gyy); //gyy,19 // 1)、通过class 关键字创建类,类名按照习惯来定义 首字母大写吧 // 2)、类里面有个 consturctor 函数,可以接受传递过来的参数,同时返回实例对象 // 3)、 consturctor 函数 只要 new生成实例时,就会自动调用这个函数,如果我们不写这个函数,类也会生成这个函数
2、类的继承
1)、利用extends 来继承
class Father { constructor() { } money() { console.log(100); } } class Son extends Father { } var son = new Son(); son.money(); //100
2)、类中可以使用super函数调用父类的构造函数
class Father { constructor(x,y) { this.x = x; this.y = y; } sum() { console.log(this.x + this.y); } } class Son extends Father { constructor(x,y) { super(x,y); // 调用了父类中的构造函数 } } let son = new Son(1,2); son.sum(); // 3
3)、再举个例子,说明一下super函数调用父类普通函数
class Father { say() { return 'gjl' } } class Son extends Father{ say() { console.log(super.say()+ '的儿子'); } } var son = new Son; son.say(); // gjl的儿子
3、子类继承父类方法的同时扩展自己的方法
class Father { constructor(x,y) { this.x = x; this.y = y; } sum() { console.log(this.x + this.y); } } class Son extends Father { consturctor (x,y) { this.x = x; this.y = y; } subtract() { console.log(this.x - this.y); } } let son = new Son(8,2); son.subtract(); //10 son.sum() //6