p292 ,302
what
抽象類 what 抽象類的另一種解釋 《effective c++》電子版p175:另乙個製作handle class的辦法是,令類成為一種特殊的抽象基類(abstract base class),稱為inte***ce class。這種class的目的是詳細一一描述子類的介面,所以它通常不帶成員變數,也沒有建構函式,只有乙個virtual析構函式,以及一組純虛函式,用來敘述整個介面。
why 抽象類:
1)為了抽象,便於繼承
2)為了定義一組相關類(類層次)的介面(p302)
how抽象類:在c++中如何實現使類成為抽象類:
1)最常用:宣告至少乙個
純虛函式(virtual function。在子類中被覆蓋的虛函式)
2)通過將建構函式宣告為protected。「protected:」用於建構函式的目的是:保證我們不能直接建立該類。//《
c++程式設計原理與實踐》
p303
class
b //
抽象類;
b b;
//編譯錯誤:因為
b是抽象類
p303
how設計純虛函式:帶有純虛函式的類不需要建構函式(如果它沒有任何資料成員):帶有純虛函式的類的目標是提供純粹的介面,即它們傾向於不包含任何資料成員(資料成員在派生類中定義),因此沒用任何建構函式(如果沒有任何資料成員需要初始化,那麼就不需要建構函式)
why純虛函式:
1)使其類成為抽象類
2)提供純粹的介面
how:類的資料成員都要宣告為private,不能宣告為protected,類提供public介面來讓子類和客戶訪問修改這些資料成員。子類也只能通過成員函式訪問修改這些資料成員。how設計純虛函式
why
繼承,而不是組合:
減少**量:父類public,子類設計,成員函式:相比於組合,不用再乙個乙個寫public介面了。這只是父類設計,要考慮的問題。
父類protected開放許可權給子類設計,卻對客戶封閉:1)相比於組合(public),不用再乙個乙個寫為private了 2)組合,a類如果函式為public,儘管組合a類的b類將其函式封裝為private,但客戶也能使用a類的public函式了,
繼承可以多型
可以多重繼承
p298
■how:基本上,類層次結合引數引用傳遞方式,與預設拷貝是不能混合的。當你設計乙個將要作為基類的類時,應禁用它的拷貝建構函式和拷貝賦值操作■
《Kafka入門與實踐》讀書筆記
1 具有高吞吐量來支援如實時的日誌集這樣的大規模事件流。2 能夠很好地處理積壓的資料,以便能夠周期性地載入離線資料進行處理。3 能給低延遲地處理傳統訊息應用場景。4 能夠支援分割槽 分布式,實時地處理訊息,同時具有容錯保障機制。當前比較流行的訊息中介軟體有kafka rocketmq rabbit ...
讀書筆記 AgilePPP XP實踐
客戶 管理者 開發緊密工作在一起。客戶 指定義產品特性並排列特性優先順序的人或團體。同一公司的業務分析師 質量保證專家 市場專家 使用者團體的代表 支付開發費用的人。都是能和團隊一起工作的成員。客戶或能代替客戶的人最好和開發在同乙個房間工作。了解需求只要做到能估算的程度就夠了。必須知道存在很多細節及...
讀書筆記 AgilePPP XP實踐
客戶 管理者 開發緊密工作在一起。客戶 指定義產品特性並排列特性優先順序的人或團體。同一公司的業務分析師 質量保證專家 市場專家 使用者團體的代表 支付開發費用的人。都是能和團隊一起工作的成員。客戶或能代替客戶的人最好和開發在同乙個房間工作。了解需求只要做到能估算的程度就夠了。必須知道存在很多細節及...