第一部分:正常的多型繼承
#include using namespace std;
class people
virtual void get_util_to_eat()
};class children : public people
};int main()
在基類中使用子類的方法
這是非常常見的程式設計
我們一般是抽象乙個基類 這個基類是放在中間位置的
往下是硬體的派生
往上是業務的派生
硬體/業務都是基於抽象類來操作的
就想門禁機裡面上面mqtt下面w5500/sim800c中間用乙個socket隔離的
設計思路:
a---最開始 媽媽 直接 操作 書本 這樣就是耦合度比較高的 書本換成雜誌 你就蒙蔽了
開始a#include #include using namespace std;
class book ;
};class mother;
};int main()
b--加入雜誌 媽媽 怎麼操作雜誌呢?
#include #include using namespace std;
class book ;
};class ebook ;
};class mother;
void tellstory(ebook *eb) ;
};int main()
看到我需要修改 mother 了 這樣不好!
怎麼辦?抽象
mother 操作的是乙個抽象的類 其他的書籍 雜誌什麼的 去實現抽象類 派生出去重寫
#include #include using namespace std;
class base ;
class book :public base ;
};class ebook :public base ;
};class mother;
};int main()
高層模組不依賴底層模組
高層底層都依賴其抽象層
抽象不依賴細節
細節應依賴抽象
系統設計的套路
區別就是層級不同 架構風格 設計模式 慣用法。在需求分析與軟體設計之間有乙個銜接。分為結構化設計和物件導向設計。通常,我們這些半吊子水準,一知半解的人,什麼概要設計 詳細設計張嘴就來。但事實上,這兩個概念 於結構化設計。目前來說,物件導向設計才是主流。sd和ood就好像中西醫結合一樣,二者結合著用。...
系統設計的套路
系統設計的目的 系統設計的目標 圍繞目標的核心設計 圍繞核心設計形成的設計原則 各子系統,模組的詳細設計。1 系統設計的目的 是指做這個系統設計的目的到底是什麼,很多人在做系統設計時,是搞不清為什麼要做乙個新系統的設計,或者為什麼要做乙個系統的重構 演進的設計,如果搞不清楚這個目的,後面的系統設計上...
設計套路 Mysql主鍵的選擇
建表在日常開發中必不可少,但設計出來的表卻千差萬別,前期表單設計得不好,對後期維護和優化都會產生非常大的阻力,那麼我們需要如何優雅地建立我們的主鍵呢?下面我們慢慢道來 mysql是由b 樹構成,搞清楚下面兩個問題,就知道為什麼用b 樹了。1.b tree是為磁碟或者其他直接訪問輔助裝置而設計的一種平...