小總結
封裝優點:
良好的封裝能夠減少耦合
類內部的實現可以自由的修改
類具有清晰的對外介面
繼承優點:
.使得所有子類公共的部分都放在了父類,使得**得到了共享,就避免了重複
.繼承可使得修改或擴充套件繼承而來的實現**都較為容易。
缺點:父類變,子類不得不變,繼承會破壞包裝,父類實現細節暴露給子類,其實是增大了兩個類之間的耦合性。
注意:c#中,子類從它的父類中繼承的成員有方法,域,屬性,事件,索引指示器,但構造方法只能被呼叫不能繼承。可以用base關鍵字呼叫父類的成員。當兩個類之間具備「is-a」關係時,就可以考慮用繼承。
多型特點:
.子類以父類的身份出現
.子類在工作時以自己的方式來實現
.子類以父類身份出現時,子類特有的屬性和方法不可以使用
要實現多型,要將父類宣告為虛方法,子類將方法重寫:override
注意:過載:一般在類內部,在不改變原方法的基礎上,增加新功能;兩個方法必須要方法名相同,但引數型別或個數必須要有所不同。
重寫:一般在不同的類中,必須要跟重寫的方法返回型別及引數個數及型別都相同,需要加override關鍵字,被重寫的方法要加 virtual關鍵字。
抽象類和介面的區別:
表面上看:1.抽象類可以給出一些成員的實現,而介面不包含任何成員的實現
.抽象類的抽象成員可被子類部分實現,而介面的成員需要實現類完全實現
.乙個類只能繼承乙個抽象類,但可實現多個介面
.對於行為跨越不同類的物件,可使用介面;對於一些相似的類物件,用繼承抽象類
.從設計角度講,抽象類是從子類中發現了公共的東西,泛化出父類,然後子類繼承父類;而介面是根本不知子類的存在,方法如何實現還不確定,預先定義。
抽象類往往是通過 重構 得來的,是自底而上抽象出來的,而介面則是自頂向下設計出來的。
物件導向的開發方式有什麼優點
1.較高的開發效率。採用物件導向的開發方式,可以對現實的事物進行抽象,可以把現實的事物直接對映為開發的物件,與人類的思維過程相似,例如可以設計乙個car類來表示現實中的汽車,這種方式非常直觀明了,也非常接近人們的正常思維。同時,由於物件導向的開發方式可以通過繼承或組合的方式來實現 的重用,因此,可以...
物件導向 初識物件導向
面向過程思想 步驟清晰簡單,第一步做什麼,第二步做什麼.面向過程適合處理一些較為簡單的問題 物件導向思想 物以類聚,分類的思維模式,思考問題首先會解決問題需要分哪些類,然後對這些類進行單獨思考,最後才是對某個分類下的細節進行面向過程的思索 物件導向適合處理複雜的問題,適合處理需要多人協作的問題 對於...
學習物件導向之物件導向的術語
類類作為設計藍圖來建立物件的 段,它描述了物件的特徵 該物件具有什麼樣的屬性,怎樣使用物件完成一些任務,他對事件進行怎樣的響應等!物件物件是類的乙個例項,通常通過呼叫類的乙個建構函式來建立它!方法方法是在類中定義的函式,一般而言,乙個方法描述了物件可以執行的乙個操作www.cppcns.com!屬性...