javascript - 如何在Javascript中继承静态和非静态属性?

标签 javascript oop inheritance prototypal-inheritance

我对 Javascript 中的面向对象编程和继承感到困惑。

我认为研究下面的代码将是理解 Javascript 中的继承的好方法。类 B 继承并覆盖基类 A 的属性。

有人可以向我展示一下 Javascript 中的以下 Java 代码的简明等效内容吗

public class A {
    public static String a = "a", b = "b";

    public static String c() {
        return "c";
    }
    public static String d() {
        return "d";
    }

    public String e = "e", f = "f";

    public String g() {
        return "g";
    }
    public String h() {
        return "h";
    }
}
public class B extends A {
    public static String a = "A";

    public static String c() {
        return "C";
    }

    public String e = "E";

    public String g() {
        return "G";
    }
}

这样下面的Javascript代码就会给出相应的输出

var a = new A();
var b = new B();
console.log(A.a);    // a
console.log(B.a);    // A  override static property
console.log(A.b);    // b
console.log(B.b);    // b  inherit static property
console.log(A.c());  // c
console.log(B.c());  // C  override static method
console.log(A.d());  // d
console.log(B.d());  // d  inherit static method
console.log(A.e);    // e
console.log(B.e);    // E  override non-static property
console.log(A.f);    // e
console.log(B.f);    // e  inherit non-static property
console.log(a.g());  // g
console.log(b.g());  // G  override non-static method
console.log(a.h());  // h
console.log(b.h());  // h  inherit non-static method

最佳答案

关于javascript - 如何在Javascript中继承静态和非静态属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40672580/

相关文章:

javascript - 没有函数调用的混淆代码

javascript - 如何在 Slick 轮播中将 2 张幻灯片居中?

javascript - BIRT:如何在 HTML View 中获取导出选项

c++ - 我在这里违反了 OOP 设计指南吗?几个有趣的设计泡菜

c++ - 只定义在一个类中

javascript - 在 JavaScript 中使用文本区域输入

java - 继承设计

JavaScript 配置管理器类

Python : Inheritance from one class, 子类给出 TypeError

C# 继承问题