0
假設我們在打字稿聲明一個抽象類,如下所示:抽象類的子類有什麼約束?
export abstract class A {
//my concrete method
function add(x, y) {
return x + y;
}
//my abstract method
abstract divide();
}
如果我們有一個延伸的一個子類B,什麼是B上的限制?更具體地說,我們知道B從A繼承,所以我們已經有了add()的具體方法,並且我們知道我們有一個帶有divide()的抽象方法方法,但是我們也可以在B中添加其他不是繼承的具體方法從A我可以B中定義POW()和如下沒有聲明其作爲A.東西的抽象方法:
export class B extends abstract class A {
//my concrete method
divide(){//implementation details go here};
//another concrete method?
pow(){
//insert imp details;
}
這個問題是由事實,我在重構在兩個屏幕上的代碼動機一個Angular 2/4應用程序,其中兩個ts組件共享大量相同的代碼。我想創建一個抽象類並將通用代碼推入抽象類並添加一些抽象方法。但是,在每個屏幕中,我沒有幾個方法完全獨立於彼此,所以我想知道沿着這些線重構代碼是好還是壞。謝謝!
很感謝!我只是想仔細檢查。 – jrDeveloper