2016-11-18 114 views
1

我很困惑面向对象的编程和继承在Javascript中。如何在Javascript中继承静态和非静态属性?

我认为学习下面的代码将是了解Javascript中的继承的好方法。 B类都继承并重写的基类A的性质

所以,任何人都可以请告诉我下面的Java代码的简洁相当于在Javascript

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 

回答