【中低階級】-[物件導向]-三大特性-繼承

更新於 2023/04/19閱讀時間約 5 分鐘
二、繼承(inheritance)
  繼承就是假如A(子)類別去繼承B(父)類別,那麼A(子)類別可以直接去使用B(父)類別非私有的屬性和方法,但是A(子)只能繼承一個B(父)類別ㄛ!
  一樣的道理可以比喻為:爸爸跟小孩之間的關係。小孩可以去運用爸爸的資源,但是爸爸的工作屬於他自己的不能跟小孩一起分享,雖然小孩可以使用爸爸的資源,但是理論上只會有一個爸爸,不可能有其他爸爸的存在。
在繼承當中父、子類別有個稱呼要知道一下
1.父類別又稱「基底類別」(Base Class)
2.子類別又稱「衍生類別」(Derived Class)
通常我都用父類別、子類別來稱呼。子類別除了可以使用父類別的屬性和方法外,還可以擴充與修改父類別的行為哦!會用到之後會再提到override(覆寫)相關的功能,例如:virtual(虛擬)、abstract(抽象)等等相關宣告會用到的詞。
  也就是說小孩可以直接學習爸爸的能力外,還可以擴充自己的能力,甚至是將爸爸的能力學好後再優化變成現在的資訊科技化,譬如:爸爸會將客戶資料一筆一筆寫入到筆記本中,那小孩就學會這能力後又更上層樓直接建立資料庫做管理,這樣在管理上就方便多了。這樣是不是小孩的能力擴充了一項技能就是建立資料庫,並且也修改了爸爸平常用紙筆傳統式紀錄變成到電腦上做key in的動作了呢?
好啦!理論太枯燥乏味直接來看看程式好了,到底是怎麼運行的呢?
Step1建立父類別
Step2建立子類別
Step3 介面設計 與 主程式撰寫
Step4 程式執行
繼承所呈現的語法會是
class B
{
  父類別的敘述;
}
class A:B
{
  子類別A繼承父類別B的敘述;
}
來看一下實際例子

實際例子1.無使用建構函數

父類別(無建構函數)
子類別(無建構函數)
主程式(無建構函數)
執行結果(無建構函數)
說明:
1.【ClassAnimal是父類別】:把共同有的「屬性欄位」與「方法動作」都在這裡做宣告
(1)第13-14行:動物共同會有的動物名字name、動物年齡age,因為未使用建構函式,因此在宣告時就做公開public大家都可以使用
(2)第15行:想交給子類別去做設計要做什麼動作又必須要有動作時可以使用abstract(抽象),看到abstract(抽象)就是子類別就一定要去做覆寫,因此使用abstract(抽象),就要將這個父類別前面多加一個abstract(抽象)的修飾詞。
(3)第17-20行:父類別做的事就是傳回字串(顯示字串)「開始說話」

2.【classDog是子類別】:因為要繼承父類別,因此在classDog後多加入「:ClassAnimal」
(1)第11行:這邊的宣告是屬於classDog的欄位,假若有另外建一個classCat的子類別,它的父類別一樣也是ClassAnimal的話,classCat就無法使用classDog類別的kind欄位
(2)第13-16行:這是要去覆寫父類別的Action()方法,classDog類別做的事就是傳回字串(顯示字串)「我正在走路」

3.【主程式】:先在介面上新增一個button和label,觸發方法為按下此button(顯示繼承文字的按鈕)後執行程式
(1)第63行:建立一個classDog類別格式的物件,命名為dog
(2)第64-66行:那麼dog可以使用它的父類別所定義的欄位(也就是name、age),也可使用它自己所定義的欄位(kind)
(3)第67-68行:利用label顯示結果,dog.Talk()、dog.name、dog.age是因為dog有繼承父類別,因此可以使用父類別的方法。dog.kind是屬於dog本身定義本來就可以使用,dog.Action()雖然有繼承父類別的方法但是因為需要覆寫,引此取得的資料會是dog類別中所做的事。

4.【執行結果】:可以跟主程式label所寫的內容相對應。

實際例子2.有使用建構函數

父類別(使用建構函數)
子類別(使用建構函數)
主程式(使用建構函數)
執行結果(使用建構函數)
說明:
1.【ClassAnimal是父類別】:
(1)第30-33行:變動的地方只有欄位部分改成建構函數的參數,裡面的敘述(也就是大括號{ } )可以不用寫
(2)其他abstract抽象方法和Talk()這個方法就不用變

2.【classDog是子類別】:
(1)第28-33行:因為要接父類別的參數,所以在使用建構函數的時候語法為:
public 類別名稱(參數):base(父類別的參數)
那麼父類別的參數變數就把它一模一樣寫過來,接著再將這些參數放入到子類別的參數中去也是要寫一模一樣的參數哦!若想要在此類別增加其他參數也可以,就如同string Kind。
(2)第24-26行:由於想要將參數在此類別中使用,那就在此做宣告,便可以在第28-33行取得傳入的內容值
(3)第38行:Action顯示內容部分呢!就可以從取得的內容值賦予給此類別宣告的變數上直接做使用即可

3.【主程式】:
由於內容值都要傳到類別去使用,因此主程式只要將內容值輸入到建立物件的類別參數中後,接下來就動用方法即可,不用還要再個別輸入內容值,故主程式會簡短許多。

4.【執行結果】:可以跟主程式label所寫的內容相對應。
※可以先從父類別看到程式執行結果後,再從執行結果往回看到父類別,這樣應該就可以更懂的是怎麼樣運行的。自己也一定要操作看看ㄛ!多操作幾遍多看就會熟了。

即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
avatar-img
21會員
43內容數
Hello~ Welcome to my blog~❤ 這邊會分享我在程式這條道路中的學習與成長, 過程中從而了解自己的不足,再學習。 希望透過分享的方式, 也讓正在學習程式的夥伴們一起學習, 我們一起加油吧~ 「彼此都會成為彼此之間的影響力」(´,,•ω•,,)♡ ❣
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
橙果杏的沙龍 的其他內容
,先來分享一下封裝是怎麼一回事。 一、封裝(Encapsulation) 封裝就是把一些功能的處理程序或是資料包起來,也對於程式碼做權限的設定做一層保護的機制,這是為了防止程式碼被竄改,所以有了封裝可以保障我們資料的隱密性,甚至封裝也是一種將一些處理程序隱藏起來,讓使用者使用時可以更加單純。 1.什
  物件導向(Object Oriented Programming,又稱OOP),在程式領域中很常會看到一些英文代稱,如果不懂的話就比較會不知道在說些什麼,所以除了知道中文名稱外也要稍微知道一下它的代稱是什麼會比較好唷! 一、什麼是物件導向?   把程式寫出來的功能集合成一個類別(class),接
亂數是要做什麼用的?生活中其實有很多有關亂數的事,例如說:樂透摸彩、抽籤、驚喜包、中獎者、擲骰子等等都是跟亂數有關哦!它們都是將所有的數都丟進去一個空間裡再隨機抽取,在不重複的狀況下每一個數抽到的機率都是一樣的。 在程式中也有這個玩法哦!但是說是這麼說到底怎麼用,咱們來看看: 語法: 在隨機抽取的時
資料集中除了陣列這個外,還有另一個好幫手就是List,它跟陣列很像,我們直接來看一下怎麼用: 它的語法: 1.給予值 (1)單一新增: (2)陣列式新增: 例子: 2.取值 (1)foreach迴圈方式 (2)單一取值 3.取得List有多少個內容值 4.排序 想要反轉就再使用↓ 5.插入 6.複製
陣列運用、擷取字串   對於陣列裡的內容值除了把資料存進去外,若想要知道陣列維度、陣列大小、複製陣列的值到另一個陣列中、清除陣列的值等等的相關處理,甚至比較常用到的可能還需要做資料排列、查找資料等等,此時C#有一些屬性方法可以幫助到我們,不用寫複雜的迴圈,來看一看有哪些吧~
  陣列就陣列怎麼還有不規則陣列呢?一維陣列就一排沒什麼大問題,但是!二維以上的多維陣列不知道有沒有發現大家的長度都是一致的?用三維來說組合起來的箱子不是四邊形,就是長(正)方體,那麼不規則陣列組合起來就不一定是完整的長(正)方體了,可能就會出現東缺一腳、西缺一角的情形發生,我們用三維的圖形來表示:
,先來分享一下封裝是怎麼一回事。 一、封裝(Encapsulation) 封裝就是把一些功能的處理程序或是資料包起來,也對於程式碼做權限的設定做一層保護的機制,這是為了防止程式碼被竄改,所以有了封裝可以保障我們資料的隱密性,甚至封裝也是一種將一些處理程序隱藏起來,讓使用者使用時可以更加單純。 1.什
  物件導向(Object Oriented Programming,又稱OOP),在程式領域中很常會看到一些英文代稱,如果不懂的話就比較會不知道在說些什麼,所以除了知道中文名稱外也要稍微知道一下它的代稱是什麼會比較好唷! 一、什麼是物件導向?   把程式寫出來的功能集合成一個類別(class),接
亂數是要做什麼用的?生活中其實有很多有關亂數的事,例如說:樂透摸彩、抽籤、驚喜包、中獎者、擲骰子等等都是跟亂數有關哦!它們都是將所有的數都丟進去一個空間裡再隨機抽取,在不重複的狀況下每一個數抽到的機率都是一樣的。 在程式中也有這個玩法哦!但是說是這麼說到底怎麼用,咱們來看看: 語法: 在隨機抽取的時
資料集中除了陣列這個外,還有另一個好幫手就是List,它跟陣列很像,我們直接來看一下怎麼用: 它的語法: 1.給予值 (1)單一新增: (2)陣列式新增: 例子: 2.取值 (1)foreach迴圈方式 (2)單一取值 3.取得List有多少個內容值 4.排序 想要反轉就再使用↓ 5.插入 6.複製
陣列運用、擷取字串   對於陣列裡的內容值除了把資料存進去外,若想要知道陣列維度、陣列大小、複製陣列的值到另一個陣列中、清除陣列的值等等的相關處理,甚至比較常用到的可能還需要做資料排列、查找資料等等,此時C#有一些屬性方法可以幫助到我們,不用寫複雜的迴圈,來看一看有哪些吧~
  陣列就陣列怎麼還有不規則陣列呢?一維陣列就一排沒什麼大問題,但是!二維以上的多維陣列不知道有沒有發現大家的長度都是一致的?用三維來說組合起來的箱子不是四邊形,就是長(正)方體,那麼不規則陣列組合起來就不一定是完整的長(正)方體了,可能就會出現東缺一腳、西缺一角的情形發生,我們用三維的圖形來表示:
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
如果你曾凌虐身邊的低階眾生,那麼,你要有心理準備,因為總有一天他們會轉生為人,被殺生者來索命,被凌虐者來找麻煩,不管你逃到天涯海角,或是能逃過今生,終究要償還業報。 我在這裡所說的低階眾生,不只是指困在畜牲色身的狗貓牛羊魚蝦,也指那些剛剛從畜牲道,轉生為人的弱勢族群。
Thumbnail
日本人享有世界公認的健康長壽生活,背後隱藏著一系列的生活和飲食習慣。 研究表明,僅僅遵循一項特定的飲食習慣就能使死亡率降低15%。 那麼,是什麼秘密讓日本人能夠健康長壽呢? 以下是揭開日本人健康長壽的六個秘密。 ### 1. 高攝取海鮮 日本是一個島國,海鮮是日本飲食中的重要組成部分。 富含
Thumbnail
*歐元區商業疲軟 增加了經濟衰退的可能性 *美禁令影響 中國CSP高階AI伺服器明年出貨比低於4% *10月工業生產指數連17黑 製造業表現兩樣情 *10月批發零售業營業額降0.9% 零售、餐飲業則表現亮眼
Thumbnail
     此書用較為詼諧嬉鬧的手法呈現劇情。講述為了調查起獲貪贓枉法的三江口盧局長失蹤案,而從中央空降神探來辦案的張一昂刑警,如何在人生地不熟又敵我不明的情況下,能急中生智、吉星高照、否極泰來,乍看不按牌理出牌或恣意妄為,卻能接連破獲重大刑案,擄獲眾人信任的推理喜劇。  
Thumbnail
談到面試這件事,我可能真的有很多甘苦談可以分享給大家。發表《面試不成的12個原因(上)最好是不符所需啦!》及《面試不成的12個原因(下)被當分母了》兩篇文章後,受到不少的關注,我決定再來分享跟面試有關的三個彩蛋。 面試是每個上班族都會遇到的。本文這三個彩蛋,或許你可以稱之為經典、離譜、不專業⋯⋯
Thumbnail
近期巨大展延票期風暴,引發市場關注庫存與現金流問題。 11/23法說會,巨大稱,雖然中低階車銷售緩、零件堆高,但中高階車仍強,且中國解封、市場復甦,有望消化中低階車款。 下半年中低階車搶貨潮不再,毛利率、營益率同降;中高階車則面臨零組件缺貨、出貨不順,無法回到2018年常態。
Thumbnail
重點先行: Ebike鍊條技術門檻高,前三季年增30%,搭配chainring可組自行車系統、合併銷售。高階品成長動能看好。 從傳統零件製造商,到佈局品牌服務,目前在歐洲、北美有多間銷售據點搶市,有品牌護城河。 原物料、匯率不利因素淡化,助推毛利率。但中低階產品庫存修正持續,需留意後市。
Thumbnail
因為有部分讀者可能沒跟上個人的思路,所以再寫此篇完整交代個人這波低價純銀行股思考過程的轉折。 首先,不管節奏是否跟上,都請不用擔心,低價純銀行股個人一直以臺企銀、遠東銀為例子的主因,在於節奏即使不同,反應時間都會相當充足,不會有那種差個一天,就有天堂地獄之別的情況發生。
Thumbnail
當我們的靈識經過「隔陰之迷」,六識七識的記憶被完全清空後,從出生的那一刻起,我們就已經是低階肉身的「奴隸」了。 因為,人類童年期的「五蘊」,都是以「生物層次」本能架構起來的「意識作業平台」,等到了青少年和成年,大部分凡夫就會因此產生「身見我執」...
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
如果你曾凌虐身邊的低階眾生,那麼,你要有心理準備,因為總有一天他們會轉生為人,被殺生者來索命,被凌虐者來找麻煩,不管你逃到天涯海角,或是能逃過今生,終究要償還業報。 我在這裡所說的低階眾生,不只是指困在畜牲色身的狗貓牛羊魚蝦,也指那些剛剛從畜牲道,轉生為人的弱勢族群。
Thumbnail
日本人享有世界公認的健康長壽生活,背後隱藏著一系列的生活和飲食習慣。 研究表明,僅僅遵循一項特定的飲食習慣就能使死亡率降低15%。 那麼,是什麼秘密讓日本人能夠健康長壽呢? 以下是揭開日本人健康長壽的六個秘密。 ### 1. 高攝取海鮮 日本是一個島國,海鮮是日本飲食中的重要組成部分。 富含
Thumbnail
*歐元區商業疲軟 增加了經濟衰退的可能性 *美禁令影響 中國CSP高階AI伺服器明年出貨比低於4% *10月工業生產指數連17黑 製造業表現兩樣情 *10月批發零售業營業額降0.9% 零售、餐飲業則表現亮眼
Thumbnail
     此書用較為詼諧嬉鬧的手法呈現劇情。講述為了調查起獲貪贓枉法的三江口盧局長失蹤案,而從中央空降神探來辦案的張一昂刑警,如何在人生地不熟又敵我不明的情況下,能急中生智、吉星高照、否極泰來,乍看不按牌理出牌或恣意妄為,卻能接連破獲重大刑案,擄獲眾人信任的推理喜劇。  
Thumbnail
談到面試這件事,我可能真的有很多甘苦談可以分享給大家。發表《面試不成的12個原因(上)最好是不符所需啦!》及《面試不成的12個原因(下)被當分母了》兩篇文章後,受到不少的關注,我決定再來分享跟面試有關的三個彩蛋。 面試是每個上班族都會遇到的。本文這三個彩蛋,或許你可以稱之為經典、離譜、不專業⋯⋯
Thumbnail
近期巨大展延票期風暴,引發市場關注庫存與現金流問題。 11/23法說會,巨大稱,雖然中低階車銷售緩、零件堆高,但中高階車仍強,且中國解封、市場復甦,有望消化中低階車款。 下半年中低階車搶貨潮不再,毛利率、營益率同降;中高階車則面臨零組件缺貨、出貨不順,無法回到2018年常態。
Thumbnail
重點先行: Ebike鍊條技術門檻高,前三季年增30%,搭配chainring可組自行車系統、合併銷售。高階品成長動能看好。 從傳統零件製造商,到佈局品牌服務,目前在歐洲、北美有多間銷售據點搶市,有品牌護城河。 原物料、匯率不利因素淡化,助推毛利率。但中低階產品庫存修正持續,需留意後市。
Thumbnail
因為有部分讀者可能沒跟上個人的思路,所以再寫此篇完整交代個人這波低價純銀行股思考過程的轉折。 首先,不管節奏是否跟上,都請不用擔心,低價純銀行股個人一直以臺企銀、遠東銀為例子的主因,在於節奏即使不同,反應時間都會相當充足,不會有那種差個一天,就有天堂地獄之別的情況發生。
Thumbnail
當我們的靈識經過「隔陰之迷」,六識七識的記憶被完全清空後,從出生的那一刻起,我們就已經是低階肉身的「奴隸」了。 因為,人類童年期的「五蘊」,都是以「生物層次」本能架構起來的「意識作業平台」,等到了青少年和成年,大部分凡夫就會因此產生「身見我執」...