例如我定義一個class叫object,然後又定義一個class叫box,
box繼承object,但是object所含的private元件如x,y,z
在box裡面都不能直接用,這樣不是有點奇怪嗎?
有人可以告訴我為什麼要這樣設計?還是我的觀念有問題?
這樣設計是有它的道理的,因為你會在你的父類別中將
某些成員設為 private 就是希望它不會被外部所取用到,
以達到封裝的目的。
如果你要在子類別中使用到父類別的成員,而又希望這些
成員不會被外部所取用的話,那你可以將它宣告為 protected 的
等級。
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>
用另外比較直觀的想法
父親所擁有的個性並不一定兒子也要有
例如 如果父親會抽煙 不一定表示他的兒子也一定要繼承這種習慣
那麼如果沒有一種機制可以模擬這種狀況
例如說 不論是什麼性質子類別都要照單全收
那這種情形就很難模擬了
--
※ 來源:台灣科技大學BBS(bbs.et.ntit.edu.tw) ◆來自: 140.118.3.117