3
A
回答
8
不,這會挫敗繼承的目的。你的A類是B
,因此它的屬性爲B
2
是否可以使用私人訪問說明符到你想要隱藏的屬性?
如果沒有,那麼請去通過這個鏈接 - 可以幫助你 - c# hide from dervied classes some properties of base class
2
可以通過聲明具有相同的名稱(和new修飾符)新的陰影成員。但是這並不能真正隱藏任何東西,並且不會阻止任何人投擲回B並以這種方式訪問成員。
你確定在這種情況下你確實想使用繼承嗎?您可能希望當您從B
派生A
,你說A
幾乎是一樣的B
對http://en.wikipedia.org/wiki/Liskov_substitution_principle
2
讀了,但它有另外的特點;它是B
的專業化版本。
舉個例子:a Dog
是Animal
。在你的情況下,你試圖說Animal
有鰭,但Dog
還沒有;這絕對不是繼承的目的。
1
爲了實現這一點,而不是致力於使屬性保密,避免繼承並應用合成(即使用接口)。
0
你的意思是這樣的:
class A {
public virtual int X {
get { return 1; }
}
}
class B : A {
public sealed override int X {
get { return 2; }
}
}
class C : B {
public override int X {
get { return -1; }
}
}
如果是這樣,是的。 (以上提供了編譯時錯誤C
)。這裏的含義是,A
有一個屬性,B
實現它,並希望阻止任何子類這樣做。
相關問題
- 1. C#是否可以從派生類中調用基類屬性
- 2. 在返回派生類型的派生接口中隱藏屬性是可以接受的嗎?
- 3. 是否可以隱藏AngularJS生成的HTML屬性?
- 4. 隱藏派生類
- 5. 屬性測試是否在派生類
- 6. 使用球衣,是否可以隱藏某些類屬性?
- 7. 如何查找派生類型隱藏其屬性的基類屬性
- 8. 是否可以使用WPF派生的依賴項屬性?
- 9. 屬性的目標是否可以從屬性的實例派生?
- 10. 是否可以在Doxygen中隱藏屬性聲明?
- 11. Qt - 派生類是否繼承其基類的元屬性?
- 12. 是否可以添加基於其他屬性隱藏一個屬性?
- 13. XmlInclude屬性和派生類
- 14. 屬性返回派生類
- 15. 隱藏基類的屬性
- 16. 取得隱藏的派生
- 17. 我是否需要指定派生類的屬性?
- 18. 如何在VCL組件中的派生類中隱藏繼承的__published屬性?
- 19. operator =(double)隱藏在派生類中
- 20. 派生類應該隱藏...嗎?
- 21. 隱藏派生屬性不起作用? C#
- 22. 序列化派生類型派生類型屬性的數組
- 23. 派生屬性?
- 24. 派生屬性
- 25. 派生類使用基類的屬性?
- 26. Python派生類和基類的屬性?
- 27. 是否有可能在派生類中
- 28. 隱藏屬性/類名
- 29. 是否可以從基類構造函數創建派生類?
- 30. 是否可以定義DataContract的派生類?
使它成爲'private'而不是'public'或'protected'嗎? – 2010-08-31 08:03:48