封裝繼承多型是面向物件程式開發的基礎概念,是實作面向物件的基本要素,
封裝
程式開發,最核心價值,是資料,
程式其實是讀取資料,操作資料,保存資料等一系列操作,
那么經過良好組織過的資料,將使編程事半功倍,
高內聚,低耦合
說到資料,經常掛在嘴邊的,就是這句高內聚,低耦合了,
這并不是絕對規則,高和低是程度副詞,我們要盡量高內聚,盡量低耦合,
對于初學者,這一句話,可能就懵了,不同的人,有不同的評價標準,那么什么樣算是高,什么樣算是低呢?
1. 一個資料只讓一個物件進行管理,
避免公開的全域變數,如果一個資料開放程度過大,就難保不會有人想要偷懶,直接讀取/設定,
當管理這個資料的人過多,那么想要對這個資料進行升級、優化,會大概率導致其他模塊被迫修改,
不符合面向物件開發的價值觀,
2. 同樣的資料不在多處進行管理,
如果一個程式里面,有多個地方保存了同一個資料,例如當前是不是白天“isDay1”,"isDay2",
那么當有開發新的功能時,有的人用了變數1,有的人用了變數2,很容易出現資料不一致的情況,
一定要逼著再開發第三個程式段,用于保證isDay1和isDay2保持同步?那豈不是自己給自己添堵!
所以,同樣的資料,不要在多個地方進行管理,
3. 能通過其他資料計算出來的資料,不要重復保存,
在程式開發中,經常還會出現一種情況,那就是可以通過計算出來的資料,還要再拿一個變數進行保存,
class DayNightControl
{
bool isDay; // 當前是否是白天
bool isNight; // 當前是否是黑夜(這個資料就是重復)
}
當前是否是晚上,可以通過!isDay獲得,那么就不要再重復記錄isNight,這是一個一眼就能看出問題的例子,
還有很多隱藏的情況,
例如:某個控制元件是否顯示,顯示條件可能由A,B,C三個條件控制,本可以通過A&&B&&C進行計算得出,此時額外增加一個visible變數,就會給后續的程式維護造成麻煩,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/275646.html
標籤:C++
上一篇:switch求助
下一篇:c語言入門教程–-11遞回
