看板 Soft_Job 關於我們 聯絡資訊
※ 引述《csfgsj (Lazy bone)》之銘言: : ※ 引述《oaz ()》之銘言: : : 那我再舉例,假設鞋子(資料)有一個動作(程序)叫綁鞋帶 : : 你會預期 : : I. 鞋子.綁鞋帶() 會只作用在這雙鞋? : : II. 鞋子.綁鞋帶() 不但會作用在我腳上的鞋子,還會作用在隔壁鄰居的鞋子上 : : III. 所有人的鞋子的綁鞋帶動作,都統一在某間放裡 : 開放體系就是在我得到這雙鞋子時 : Struct Shoes {…..} : 我不必去預先設定我會對它作什麼動作 : 對鞋子的動作可能當時有一些 : A( shoes *); : 以後有可能再去想到另外一些 : B( shoes *) : 我不用一開始就把所有東西都設死 給你三個解法: 一、class Shoes 所有欄位都開 public 二、class Shoes 所有欄位都開 protected , 然後 class SpecialShoes extends Shoes {} ,開出你想要的 API 三、class Shoes 所有欄位都開 private 然後所有的欄位都有 getter/setter -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.30.46 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1425563143.A.D2C.html
TW0981081007: 用struct就是public的,以C++來說。 03/05 21:48