使用extends关键字可以实现继承,之后可以自动拥有父类的属性和方法
<script> /* 面向对象的方法 function Person(name,age){ this.name=name; this.age=age; } Person.prototype.sayName=function(){ this.name; } */ /* es6的方法 */ class Person{ constructor(name,age){ this.name=name; this.age=age; } sayName(){ console.log(this.name) //lisi } } /* 使用extends关键字可以实现继承,吧,,,之后可以自动拥有父类的属性和方法 */ class Student extends Person{ constructor(name,age,skill){ super(name,age); //super指的是Person this.skill=skill } /* //子类下的函数:这种写法是错误的 saySkill(){ console.log(this.skill) } */ } var wang=new Person("wangyibo",18); // /* 父类不能使用子类的方法,子类可以使用父类的方法 */ // wang.saySkill() var s=new Student("lisi",17,"html") s.sayName() console.log(s) //Student("lisi",17,skill:"html")</script>
在子类的方法中去调用父类的方法—this
class Person{
constructor(name,age){
this.name=name;
this.age=age;
}
sayName(){
console.log(this.name)
}
}
/* 在子类的方法中去调用父类的方法 */
class Student extends Person{
constructor(name,age,skill){
super(name,age); //super指的是Person
this.skill=skill
}
saySkill(){
this.sayName()
}
}
var wang=new Student("lisi",17,"html")
wang.saySkill()
var p=new Person("zhangsan",18)
console.log(Person.prototype)