【c#】繼承
一、什麼是繼承?
交通工具包含汽車、飛機、輪船等。汽車又分為小汽車、卡車等。這種類屬(is-a )的關係表示繼承。卡車(子類)是汽車(父類)的特殊化,既有汽車的發動機、輪胎,又有獨特的車斗(新特性)。
回到C#中,繼承體現的是派生類要繼承基類的所有的成員變數和成員函式。
二、子類繼承父類
1. 子類繼承父類非private的屬性、方法、域、事件、索引指示器。對於構造方法,它不能被繼承,只能通過 base呼叫父類成員。
2. 子類可以擴充套件父類沒有的屬性和功能。
3. 子類還可以以自己的方式實現父類的功能(方法重寫)
4.不允許多重繼承,但是通過多重介面可以實現。(不允許有多個親爹,但是可以有多個乾爹~)
三、繼承的優缺點
優點:繼承把所有子類的公共部分都放在了父類,使得程式碼得到了共享,可以避免重複,減少出錯,並且繼承使得修改或擴充套件繼承而來的實現都較為容易。
缺點:父類變,子類不得不變。繼承會破壞包裝,父類實現細節暴露給子類,增大了兩個類之間的強耦合的關係。
四、思想昇華
VB中的模組跟C#繼承中父類有些類似,它也是把一些常用的函式抽象出來,放在模組裡共享,使用。各個窗體除了可以呼叫我們模組中的函式,還可以編寫自己特有的函式。
由此想到的就是我們做的歸納總結,畫思維導圖或者做筆記的時候,儘量把重複的字只寫一次。這樣不僅僅可以調動大腦的積極性,又提高了效率。重複的工作做多了,就應該想想是不是有更簡單的方法來處理這些問題。如果沒有繼承,想必就沒有人類的進步了吧!
如有不妥還望指正!
相關文章
- C# 繼承C#繼承
- c#繼承comC#繼承
- 子承父業-C#繼承C#繼承
- 瞭解下C# 繼承C#繼承
- C#中的繼承(一)C#繼承
- C#中的繼承(二)C#繼承
- C#中介面的繼承C#繼承
- C#中類的繼承C#繼承
- c#屬性之繼承C#繼承
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- C#如何實現多重繼承C#繼承
- C#建構函式繼承C#函式繼承
- 原型,繼承——原型繼承原型繼承
- 菱形繼承,虛繼承繼承
- C#快速入門教程(15)—— 繼承C#繼承
- C#實驗7 類和繼承C#繼承
- C# OOP:繼承,介面和抽象類C#OOP繼承抽象
- C#類繼承自泛型集合C#繼承泛型
- 多繼承 與 多重繼承繼承
- C++繼承詳解:共有(public)繼承,私有(private)繼承,保護(protected)繼承C++繼承
- C#中繼承和多型的研究C#中繼繼承多型
- C#中為什麼不能繼承List?C#繼承
- c# abstract抽象類及抽象方法_繼承C#抽象繼承
- 三種繼承的方法:public 繼承/private繼承/protected繼承詳解及區別繼承
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- Javascript繼承2:建立即繼承—-建構函式繼承JavaScript繼承函式
- 繼承繼承
- C++繼承一之公有繼承C++繼承
- JS原型繼承和類式繼承JS原型繼承
- C++中公有繼承、保護繼承、私有繼承的區別C++繼承
- 公有繼承、私有繼承和保護繼承之間的對比繼承
- day23:單繼承&多繼承&菱形繼承&__init__魔術方法繼承
- 類的繼承_子類繼承父類繼承
- C# 繼承 子類(派生類) 父類(基類)C#繼承
- c# 中的封裝、繼承、多型詳解C#封裝繼承多型
- C#虛基類繼承與介面的區別C#繼承
- JavaScript繼承JavaScript繼承
- JavaScript 繼承JavaScript繼承