JavaScript面向对象:类的继承
创始人
2024-04-11 04:06:17

继承

 

现实中的继承:子承父业,比如我们都继承了父亲的姓。

程序中的继承:子类可以继承父类的一些属性和方法。

语法:

class Father{   // 父类
} 
class  Son extends Father {  // 子类继承父类
}       

实例:

class Father {constructor(surname) {this.surname= surname;}say() {console.log('你的姓是' + this.surname);}
}
class Son extends Father{  // 这样子类就继承了父类的属性和方法}
var damao= new Son('刘');
damao.say();      

super 关键字

super 关键字用于访问和调用对象父类上的函数。可以调用父类的构造函数,也可以调用父类的普通函数

这样会报错,因为父类的this指向的是父亲自己 

语法:

class Person {   // 父类constructor(surname){this.surname = surname;}
} 
class  Student extends Person {       // 子类继承父类constructor(surname,firstname){super(surname);             // 调用父类的constructor(surname)this.firstname = firstname; // 定义子类独有的属性}
}       

 要先有super,才能使用this 

注意: 子类在构造函数中使用super, 必须放到 this 前面  (必须先调用父类的构造方法,在使用子类构造方法)

 就近原则 输出的还是孩子

   继承中的属性或者方法查找原则: 就近原则

        1. 继承中,如果实例化子类输出一个方法,先看子类有没有这个方法,如果有就先执行子类的

        2. 继承中,如果子类里面没有,就去查找父类有没有这个方法,如果有,就执行父类的这个方法(就近原则)

 

 用super就可以调用父类的普通函数

 刚刚想到了为什么要用构造函数,就是如果不使用constructor(),就不知道this.x指向的是那个。使用了constructor,把里面的x传给了this.x,这样就可以使用里面的方法

  案例:

 class Father {constructor(surname) {this.surname = surname;}saySurname() {console.log('我的姓是' + this.surname);}
}
class Son extends Father { // 这样子类就继承了父类的属性和方法constructor(surname, fristname) {super(surname);   // 调用父类的constructor(surname)this.fristname = fristname;}sayFristname() {console.log("我的名字是:" + this.fristname);}
}
var damao = new Son('刘', "德华");
damao.saySurname();
damao.sayFristname();      

super关键字 用于访问和调用对象父类上的函数。可以调用父类的构造函数,也可以调用父类的普通函数。

语法

class Father {say() {return '我是爸爸';}
}
class Son extends Father { // 这样子类就继承了父类的属性和方法say() {// super.say()  super 调用父类的方法return super.say() + '的儿子';}
}
var damao = new Son();
console.log(damao.say());       

三个注意点:

1.在 ES6 中类没有变量提升,所以必须先定义类,才能通过类实例化对象.

2.类里面的共有属性和方法一定要加this使用.

3.类里面的this指向问题.

4.constructor 里面的this指向实例对象, 方法里面的this 指向这个方法的调用者

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...