小编这次要给大家分享的是如何继承JavaScript类,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。
类的继承
1 子承父业
extends(继承父类的普通函数)(方法)
class Father {
constructor() {
}
money() {
console.log(100);
}
}
class Son extends Father {
}
class sunzi extends Son {
}
var yxf = new Father;
var lbw = new Son;
var bb = new sunzi;
console.log(yxf.money());
console.log(lbw.money());
console.log(bb.money());
super的用法
用于访问和调用对象父类上的函数。可以调用父类的构造函数,也可以调用父类的普通函数(方法)
class Father1 {
constructor(x,y) {
this.x = x;
this.y = y;
}
sum() {
console.log(this.x + this.y);
}
}
class Son1 extends Father1 {
constructor(x,y){
super(x,y);
}
}
var yxf = new Son1(1,2);
yxf.sum();
super关键字调用就近原则
<script>
//super关键字调用父类普通函数
class Father {
say() {
return '我是爸爸';
}
}
class Son extends Father {
say() {
// return '我是儿子';
console.log( super.say());
}
}
var yxf = new Son();
yxf.say();//返回结果:我是儿子 就近原则
//继承中的属性或方法查找原则:就近原则
//1.继承中,如果实例化子类输出一个方法,先看子类有没有这个方法,如果有就先执行子类;
//2.继承中,如果子类里面没有,就去查找父类有没有如果有就用父类
</script>
子类继承父类,同时扩展自己的方法
注意:子类子构造函数使用super 必须放到this的前面(必须先调用父类的构造方法 再使用子类的构造方法)父亲永远是第一位的!!!!
<script>
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调用父类的构造函数
//super 必须在子类this之前调用
super(x,y);
this.x = x;
this.y = y;
}
sub() {
console.log(this.x - this.y);
}
}
var son = new Son(1,2);
son.sum();
son.sub();
</script>
<script>
//super关键字调用父类普通函数
class Father {
say() {
return '我是爸爸';
}
}
class Son extends Father {
say() {
// return '我是儿子';
console.log( super.say());
}
}
var yxf = new Son();
yxf.say();//返回结果:我是儿子 就近原则
//继承中的属性或方法查找原则:就近原则
//1.继承中,如果实例化子类输出一个方法,先看子类有没有这个方法,如果有就先执行子类;
//2.继承中,如果子类里面没有,就去查找父类有没有如果有就用父类
</script>
看完这篇关于如何继承JavaScript类的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。