有以下繼承:我如何正確地繼承和隱藏基方法
class A
{
void Configure(object param1) {...};
}
class B : A
{
void Configure(object param1) {...}; // The method is not defined in B, it is available from the base class. This is just the desired interface of class B
}
class C : A
{
void Configure(object param1, object param2) {...};
}
我不想C類有一個配置參數1與可見的在這種情況下,它會留下對象不完整的。
我試過重寫,但重寫不能改變可見性。
我發現被調用類的方法protected void ConfigureBase(object param1) {...};
,使B級呼叫ConfigureBase的方法配置的唯一方法。
。我不完全滿意這個設計,因爲它讓我重新定義每個類的配置是有處理這一個標準呢?
這看起來像一個[XY解決的問題很多(http://meta.stackexchange.com/questions/66377/what-is-the- XY-問題)。您遇到的問題與您沒有告訴我們的問題有關。每個基礎和派生類型的目標是什麼? –
感謝您的想法,但我認爲下面的答案足以瞭解我需要什麼。再次感謝。 –