当前位置: 首页 > news >正文

JavaScript 类继承讲解

继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。
JavaScript 类继承使用 extends 关键字。

super() 方法用于调用父类的构造函数。

当创建一个类时,您不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可。这个已有的类称为基类(父类),新建的类称为派生类(子类)

继承代表了 is a 关系。例如,哺乳动物是动物,狗是哺乳动物,因此,狗是动物,等等。

代码如下:

// 基类
class Animal {
    // eat() 函数
    // sleep() 函数
};
 
 
//派生类
class Dog extends Animal {
    // bark() 函数
};

以下实例创建的类 "Runoob" 继承了 "Site" 类:

class Site {
  constructor(name) {
    this.sitename = name;
  }
  present() {
    return '我喜欢' + this.sitename;
  }
}
 
class Runoob extends Site {
  constructor(name, age) {
    super(name);
    this.age = age;
  }
  show() {
    return this.present() + ', 它创建了 ' + this.age +

相关文章:

  • MySQL增删改查【进阶篇】万字图文超详细讲解
  • 湖北省高新技术企业应提前准备,申报条件、流程、材料梳理
  • HTML网页设计制作 dreamweaver网页源代码 垃圾分类环保主题网站制作
  • (附源码)计算机毕业设计ssm电影分享网站
  • 【探花交友】查询通用设置、陌生人问题、黑名单管理
  • 【AUTOSAR-IpduM】-3.1-配置一个发送Tx Dynamic Container PDU(Multiple-PDU)
  • Python编程 pip换源
  • 游戏网页代码 html静态网页设计制作 dw静态网页成品模板素材网页 web前端网页设计与制作 div静态网页设计
  • JavaScript基础(2)
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • 【MyBatis框架】实现增删改查功能
  • 【算法刷题日记之本手篇】左右最值最大差与顺时针打印矩阵
  • Redis 的安装
  • Netty网络编程实战2,使用Netty开发聊天室功能
  • 一文搞懂CAN总线协议帧格式
  • 【前端学习】-粗谈选择器
  • 5、React组件事件详解
  • Android Studio:GIT提交项目到远程仓库
  • C# 免费离线人脸识别 2.0 Demo
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • const let
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • DOM的那些事
  • HTTP--网络协议分层,http历史(二)
  • js ES6 求数组的交集,并集,还有差集
  • Less 日常用法
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • quasar-framework cnodejs社区
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Vue2 SSR 的优化之旅
  • vue-cli在webpack的配置文件探究
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 初识 webpack
  • 多线程事务回滚
  • 给第三方使用接口的 URL 签名实现
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 规范化安全开发 KOA 手脚架
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • hi-nginx-1.3.4编译安装
  • ​比特币大跌的 2 个原因
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • # 透过事物看本质的能力怎么培养?
  • #WEB前端(HTML属性)
  • #Z2294. 打印树的直径
  • (Git) gitignore基础使用
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (一)基于IDEA的JAVA基础1
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)程序员技术练级攻略
  • *Django中的Ajax 纯js的书写样式1
  • .bat文件调用java类的main方法
  • .describe() python_Python-Win32com-Excel