ES6 class实现继承

一、声明父类

class Phone{constructor(name,price){this.name = name;this.price = price;}// 父类的方法play(){console.log("我可以玩游戏");}
}

二、声明子类

  • 使用extends关键字继承父类
  • 通过super调用父类的构造方法
class SmartPhone extends Phone{constructor(name,price,color){// super就是父类的constructor方法//与ES5的 Phone.call(this,name,price)效果一样super(name,price);this.color = color;}//子类的方法photo(){console.log("拍照");}
}

四、实例化一个子类

const oppo = new SmartPhone('Find x5','¥4799','紫色');
console.log(oppo);//Object { name: "Find x5", price: "¥4799", color: "紫色" }
  • 查看属性

  • 子类自身的方法

  • 从父类继承的方法

总结

写法比ES5更简洁,贴合传统语言的继承写法

JavaScript通过extend和super实现继承相关推荐

  1. (二)Javascript面向对象编程:构造函数的继承

    Javascript面向对象编程:构造函数的继承 这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例. 今天要介绍的是,对象之间的"继承&q ...

  2. JavaScript面向对象——深入理解寄生组合继承

    JavaScript面向对象--深入理解寄生组合继承 之前谈到过组合继承,会有初始化两次实例方法/属性的缺点,接下来我们谈谈为了避免这种缺点的寄生组合继承 寄生组合继承: 思路:组合继承中,构造函数继 ...

  3. JavaScript中OOP——面向对象中的继承/闭包

      前  言  OOP  JavaScript中OOP-->>>面向对象中的继承/闭包 1.1面向对象的概念 使用一个子类继承另一个父类,子类可以自动拥有父类的属性和方法.      ...

  4. Python super钻石继承

    1.   Python的继承以及调用父类成员 python子类调用父类成员有2种方法,分别是普通方法和super方法 假设Base是基类 class Base(object):def __init__ ...

  5. JavaScript学习笔记之对象及继承

    JavaScript学习笔记之对象及继承 对象属性 ES5中有两种属性,数据属性和访问器属性. 数据属性包括[[writable]](能否修改属性的值).[[value]]等等: 访问器属性包括[[C ...

  6. 对Javascript 类、原型链、继承的理解

    一.序言   和其他面向对象的语言(如Java)不同,Javascript语言对类的实现和继承的实现没有标准的定义,而是将这些交给了程序员,让程序员更加灵活地(当然刚开始也更加头疼)去定义类,实现继承 ...

  7. 一篇JavaScript技术栈带你了解继承和原型链

    作者 | Jeskson 来源 | 达达前端小酒馆 1 在学习JavaScript中,我们知道它是一种灵活的语言,具有面向对象,函数式风格的编程模式,面向对象具有两点要记住,三大特性,六大原则. 那么 ...

  8. JavaScript简餐——关于类的继承

    文章目录 前言 一.继承基础 二.super关键字 三.抽象基类 四.总结 前言 写本<JavaScript简餐>系列文章的目的是记录在阅读学习<JavaScript高级程序设计(第 ...

  9. 前端 JavaScript 设计模式前奏--面向对象-封装、继承、多态

    JavaScript 面向对象 如图所示: 1. 什么是面向对象 1. 面向对象的概念 2. 面向对象的三要素: 继承/封装/多态 ⭐️ 3. JS 的应用举例 4. 面相对象的意义 --- 数据结构 ...

最新文章

  1. 人工智能高考511分,未来有望考上东京大学!
  2. TWebBrowser 与 MSHTML(2): 获取 window 对象的时机
  3. COM和ATL学习方法
  4. MVC3 ActionResult 返回类型
  5. JS原型、原型链深入理解
  6. myeclipse 项目右键没有svn_新建SVN仓库并上传项目
  7. iview标签页的点击方法_18页PPT:6个高手常用的自我介绍套路,很是得人心,学习...
  8. 更新丨.NET 7 预览版2 中的 ASP.NET Core
  9. python 进程池_python进程池
  10. 2019牛客多校Monotonic Matrix
  11. Linux绘图函数与驱动,Linux中与驱动相关的ioctl函数
  12. 15 张前端高清知识地图,强烈建议收藏
  13. 计算机内存不足吃鸡怎么办,Win10玩吃鸡游戏提示虚拟内存不足怎么办?
  14. 深度学习 —— 使用 gensim 实现 word2vec
  15. Python数据结构与算法(1.3)——Python基础之输入、输出与高阶赋值
  16. 【记忆化递归+DP】LeetCode 139. Word Break
  17. 每日算法系列【LeetCode 315】计算右侧小于当前元素的个数
  18. Arthas安装问题
  19. 丁香园 (http://www.dxy.cn)这个名字听着
  20. iOS GPUImage 自定义美颜滤镜

热门文章

  1. 获取java可用时区列表ZoneId
  2. Mysql Workbench SSL错误
  3. mac os 录屏快捷键_5款好用的Mac录屏软件推荐
  4. NR 5G 5G-GUTI解读
  5. 核心网CN | IMSI、TMSI、P-TMSI、GUTI、S-TMSI、MSISDN、MSRN、IMEI等这些移动用户标识的辨析
  6. Google 在遗忘权下删除了超过 17 万链接
  7. plc串口通讯 qt_QT与PLC通信
  8. 服务器和微信公众号的区别,微信小程序和公众号的区别,看这三点就懂了
  9. 漂亮的带搜索框蓝黄拼色网站404页面源码
  10. [MRI] 核磁共振T1和T2图像