沒有找到極其強烈無法辯駁的用繼承的原因的時候一律用組合
組合體現為實現層面,繼承主要體現在擴充套件方面
我覺得如果並不是需要乙個類的所有東西(包括介面和屬性),那麼就不需要用繼承,相反就用組合。
用繼承那就必須是所有的都繼承,不是所有的都繼承,那麼就是濫用繼承。
組合在編譯依賴和不同版本的執行時相容性上優於繼承;繼承在合理復用實現的潛力優於組合
繼承偏重集體,具有特殊性的集體(派生類)可以看作是一般性集體(基類)的一部分,如汽車對於交通工具。
組合偏重個體,某個功能物件被宿主物件看成自己的一部分,如輪子對於汽車。
與看待事物的角度有關,繼承偏抽象,組合偏具體。
MySql何時用MyISAM何時用InnoDB
innodb支援事務與外來鍵和行級鎖,myisam不支援 最主要的差別 myisam讀效能要優於innodb,除了針對索引的update操作,myisam的寫效能可能低於innodb,其他操作myisam的寫效能也是優於innodb的,而且可以通過分庫分表來提高myisam寫操作的速度 myisam...
MySql何時用MyISAM何時用InnoDB
myisam和innodb的區別 innodb支援事務與外來鍵和行級鎖,myisam不支援 最主要的差別 myisam讀效能要優於innodb,除了針對索引的update操作,myisam的寫效能可能低於innodb,其他操作myisam的寫效能也是優於innodb的,而且可以通過分庫分表來提高my...
何時有個內連線何時用外連線
比如有tablea tableb,tablea和tableb是一對多 需求一 根據tableb的某寫字段,查詢出tablea 分析 如果此時使用內鏈結 則相應的語句是 select a.from tablea a tableb b where a.id tableb.aid and b.code 4...