正文
我們首先看一下為什么數(shù)據(jù)成員不應(yīng)該是public的,然后我們將會看到應(yīng)用在public數(shù)據(jù)成員上的論證同樣適用于protected成員。最后夠得出結(jié)論:數(shù)據(jù)成員應(yīng)該是private的。
1. 為什么數(shù)據(jù)成員不能是public的?
為什么數(shù)據(jù)成員不能夠是public的?
2.1 一致性
讓我們從句法的一致性開始(Item 18)。如果數(shù)據(jù)成員不是Public的,那么客戶訪問對象的唯一方法就是通過成員函數(shù)。如果所有的公共接口都是函數(shù),客戶就不必記住訪問一個類的成員時是否使用括號了。這方便了客戶的使用。