首页 > 编程语言 > 详细

javascript 继承

时间:2019-03-02 18:15:52      阅读:116      评论:0      收藏:0      [点我收藏+]

什么是继承?

继承就是你爸爸很多钱,所以你就继承你爸爸,变成了富二代,也是个有钱的主,

突然你爸爸世界杯赌球,输了个精光,于是你也变成了穷光蛋。这个就是继承

非也,非也。

有一回人家让用原声的js写个继承,一脸懵逼,写过.net 的继承,写过PHP的继承,或者ES6继承,原生js 怎么写?

就说前端做个企业官网,电商网站,或者系统ERP,或者OA,感觉说这些东西都用不上,

回去复习下,多读点书吧。不爱学习,不思进取,目前短浅。鼠目寸光,不知不觉就被淘汰了。

我真是忘了...

C# 继承

public class A {
   private int a;
   private int b;
}

public class B :A {
 private int c;
 private int b;
}

//B 继承 A

ES6 继承

export default class A {
    constructor(props){
       super(props)
    }
    test() { alert('test') }
}

export default class B extends A {
    constructor(props){
       super(props)
    }
    test1() { this.test() }
}

//B 继承 A

继承机制的实现

要用 ECMAScript 实现继承机制,您可以从要继承的基类入手。所有开发者定义的类都可作为基类。出于安全原因,本地类和宿主类不能作为基类,这样可以防止公用访问编译过的浏览器级的代码,因为这些代码可以被用于恶意攻击。

选定基类后,就可以创建它的子类了。是否使用基类完全由你决定。有时,你可能想创建一个不能直接使用的基类,它只是用于给子类提供通用的函数。在这种情况下,基类被看作抽象类。 尽管 ECMAScript 并没有像其他语言那样严格地定义抽象类,但有时它的确会创建一些不允许使用的类。通常,我们称这种类为抽象类。

创建的子类将继承超类的所有属性和方法,包括构造函数及方法的实现。记住,所有属性和方法都是公用的,因此子类可直接访问这些方法。子类还可添加超类中没有的新属性和方法,也可以覆盖超类的属性和方法。

继承的方式

和其他功能一样,ECMAScript 实现继承的方式不止一种。这是因为 JavaScript 中的继承机制并不是明确规定的,而是通过模仿实现的。这意味着所有的继承细节并非完全由解释程序处理。作为coder,这个实现的姿势你可以按你的方式选择。

实现继承的几种姿势

一、对象冒充

构想原始的 ECMAScript 时,根本没打算设计对象冒充(object masquerading)。它是在开发者开始理解函数的工作方式,尤其是如何在函数环境中使用 this 关键字后才发展出来。

原理: 构造函数使用 this 关键字给所有属性和方法赋值(即采用类声明的构造函数方式)。因为构造函数只是一个函数,所以可使 ClassA 构造函数成为 ClassB 的方法,然后调用它。ClassB 就会收到 ClassA 的构造函数中定义的属性和方法。

javascript 继承

原文:https://www.cnblogs.com/chuchur/p/10462217.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!