2016-11-18 105 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 

回答