2013-10-10 16 views
11

Có một gợi ý của việc sử dụng mã như thế nàyLàm thế nào để bạn truy nhập các thuộc tính của lớp cơ sở trong Typescript?

class A { 
    // Setting this to private will cause class B to have a compile error 
    public x: string = 'a'; 
} 

class B extends A { 
    constructor(){super();} 
    method():string { 
     return super.x; 
    } 
} 

var b:B = new B(); 
alert(b.method()); 

và nó thậm chí còn có 9 phiếu. Nhưng khi bạn dán nó trên sân chơi TS chính thức http://www.typescriptlang.org/Playground/ nó sẽ cung cấp cho bạn và lỗi.

Cách truy cập thuộc tính x của A từ B?

Trả lời

27

sử dụng this hơn super:

class A { 
    // Setting this to private will cause class B to have a compile error 
    public x: string = 'a'; 
} 

class B extends A { 
    // constructor(){super();} 
    method():string { 
     return this.x; 
    } 
} 

var b:B = new B(); 
alert(b.method()); 
+2

Champion! Xin lỗi, không có đủ danh tiếng để +1 –

+4

@AlexVaghin u có thể/nên đánh dấu là câu trả lời – basarat

Các vấn đề liên quan