嗨,我是OOP的新手,我似乎找不到關于我的這個問題的資訊。任何幫助都將是巨大的。我使用的是C#語言
。所以我有一個基礎抽象類Animal,和一個派生類Pig。我想有其他的派生類,如牛等等。每個動物都需要有一個名字。
我是否應該將AnimalName欄位作為基類中的保護欄位,并使用base.AnimalName來訪問?或者名字欄位應該屬于派生類,作為一個私有/保護欄位?
我的想法是,如果我有需要被覆寫的抽象方法,那么名字欄位是否不應該遵循類似的格式,或者它應該只是在派生類中宣告。
這是否有一個慣例呢?
uj5u.com熱心網友回復:
如果屬性Name是作為一個動物所固有的(每個動物都必須有),那么把它放在動物抽象類中,作為保護類,或者作為帶有getters和setters的私有類(更常見)。
uj5u.com熱心網友回復:
一個抽象類,正如@Ivan所描述的,是一個好主意。但是,有時你的命名空間實際上會從使用嵌套類中受益。然后,你可以用類似的方式覆寫 AnimalName。
請查看這個答案以了解更多。https://stackoverflow.com/a/10507130/14414944
編輯:根據CoolBots的要求,查看這個C# Fiddle。那里有一些值得咀嚼的好東西。
。我還建議通過閱讀C#中的組合與繼承,來補充你的OOP學習。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/313400.html
標籤:
上一篇:在C 中擴展內置類
