class test
class user
如上這樣的類絕不應該聲名為public,因為一旦聲名為了public,該類中所有的資料就全部暴露出來,並且無法改變它的資料表示法,也無法強加任何約束條件,當被訪問的時候,無法採取任何輔助措施,這麼多問題,歸結原因就是因為如果類宣告不當,那麼可能會將整個資料域全部暴露給客戶端。雖然,對於可變類來說,應該用包含私有域和僅有設定方法的類代替:
class user
public void setold(integer old)
public string getname()
public void setname(string name)
}
那麼,對類中的資料域的訪問級別應該如何設計? 第14條 在公有類中使用訪問 方法而非公有域
class point 如上面point類的資料域是可以直接被訪問的,這樣的類沒有提供封裝。如果不改變api,就無法改變它的資料表示法 比如,使用乙個比double更高精度的類來表示x和y 也無法強加任何約束條件 比如以後我們可能會希望x和y不會超過某個值 class point public do...
C 類繼承 公有繼承
使用公有繼承,可以達到如下的特性 tabtenn1.h ifndef tabtenn1 h define tabtenn1 h include using std string class tabletennisplayer 基類宣告 void resettable bool v class rat...
Person類和Teacher類(公有派生)
問題描述 從類person中派生出乙個teacher類,新增的屬性有專業 specialty 職稱 position 和主講課程 majorcourse 一門,並為這些屬性定義相應的方法。person類的設計如下,空白處請補充完整。class person char getname char get...