我有一個基類(A),下面,我一直想從如何從實現的類引用抽象方法在C#
class A
{
abstract protected int foo();
public int foo2()
{
//do some stuff
foo();
}
}
繼承,因爲我不能有一個這樣可不行非抽象類中的抽象方法。但是,我怎樣才能完成以下目標:
繼承類A的類將已經實現了foo2,但繼承的類必須實現foo?也可以優先使用foo2。
更新:A類沒有是非抽象
爲什麼不能抽象?做一個摘要並添加'虛擬'到foo。 – Jaster
僅供參考:一個乾淨的代碼原則:支持合成而不是繼承 –
您可以使用默認實現將'foo()'虛擬方法'或使用該方法創建一個新的'Interface'並使'class A'實現它。或者只是把'A類'作爲'抽象類'。 – W0lfw00ds