上一节我们详细介绍了JS中类的方法,包括实例方法和静态方法,本节我们将学习JS类中的继承。

什么是类的继承?

答:使用extends关键字,通过在子类的类声明中使用extends关键字,可以指定子类继承自哪个父类。比如

/*JS中类的继承*/
  class Base//父类
  {
    constructor()
    {
      this.str='父类变量'
    }
    f(){
      console.log('父类方法');
      
    }
  }
/* 开始继承,子类通过关键字extends继承父类 */
 class Son extends Base//子类
  {
    constructor()
    {
    super()
    }
  }
/* 通过继承,子类获得父类的属性和方法 */
const son = new Son;
console.log(son.str);//父类变量
son.f();//'父类方法'

继承有什么用?

答:通过继承的方式,子类能够获得父类的属性和方法,并且可以在父类的基础上进行扩展或约束,减少重复编码,提高代码的可读性。

比如此时子类需要一个speak()函数说话(功能扩展),并让f()函数打印“子类方法”(方法约束),我们可以这样做:

/*JS中子类对继承的属性的适配,本质是同名变量进行覆盖*/
  class Base//父类
  {
    constructor()
    {
      this.str='父类变量'
    }
    f(){
      console.log('父类方法');
      
    }
  }
/* 开始继承,子类通过关键字extends继承父类 */
 class Son extends Base//子类
  {
    constructor()
    {
    super()
    }
    /* 通过复写一个重名函数来进行覆盖,实现子类适配的效果 */
    f(){
      console.log('子类方法');
    }
    str='子类变量'
    /* 功能扩展 */
    speak(){
      console.log(`你好,我是${this.str}`);
      
    }
  }
/* 更改父类继承的属性和方法,进行子类适配 */
const son = new Son;
console.log(son.str);//子类变量
son.f();//'子类方法'
son.speak();//`你好,我是‘子类变量’

总结:类继承允许我们在不重复编写相似代码的情况下创建具有共同行为的类。子类可以使用父类的功能,并且还可以根据需要添加自己的特定功能。这种代码的组织方式提高了代码的可维护性和可扩展性。

点赞(116)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)