這三個封裝、繼承、多型 學過物件導向大概都會知道,近日在應徵工作,
只要是Java、C++...等相關工作都會問"你對物件導向熟嗎。",
我都說:還可以,
但事後想想應該直接講物件導向三大特性 封裝、繼承、多型,
但有面試官會要你說明這三個東西到底是什麼,
那是在我人生第二次線上面試所被問到的問題,
反正我是傻住了,因為我都是實作比較有經驗,
面試官:物件導向是什麼?
我說:就好像遙控器,可以控制很多物件...,
講了很多語無倫次的話,
面試官:物件導向三大特性封裝、繼承、多型可以講一下是什麼?
我說:封裝.... (內心OS:阿不是set、get、private這要怎麼講),(´゚д゚`)
我說:繼承....(內心OS:阿不是我可以用別人的東西), (´;ω;`)
我說:多型...(內心OS:interface), இдஇ
好吧一問三不知,直接被我拉拉拉的過去了,
最後當然是很尷尬的結束了,過程不到10分鐘,
太丟臉了,沒關係人都有第二次,多幾次就會熟了,
經過那麼慘痛的經歷,當然是要補起來,
拿書來看這三個東西到底要怎麼講,
當然實際在用就那樣,但是很難用口語方式表達,
最後當然是用"舉例"的方式,一來好記不會忘,
二來大多數人大多都可以聽懂,真的好處多多。
封裝:
1.隱藏不想讓人隨意竄改的屬性。
2.簡單化(提供對外function)。
例:
就好像封裝廠製作IC,有一個步驟叫"封裝IC",
不用了解裡面的構造只要知道pin腳有何功能就好。
繼承:
1.節省時間
2.方便
例:
就好像車商一次出了三款不同型號的車,
不可能這三款所有東西都是獨立打造,
一定會有相似之處,而那個相似之處就是繼承,
可能座椅跟上台車一樣,引擎都是同一顆等,使用上一定會比較省時、省錢。
多形:
1.相同屬性、function但不同物件會有不一樣的結果
2.方便管理
例:
就好像人類(大人、小孩、老人...)是一個物件,
這一個物件有一個function是看電影,但每一個人的興趣、喜好不同,
有人喜歡看 愛情片、動作片、恐怖片...等,同樣都為"人",
選擇也會有所不同,也可以說把一個物件簡單化,不要分太細,集中管理。
不得不說有些舉例真的很讚,
一看就懂,大家在複習時可以自己"舉例",
洗澡時,物件導向有哪三大特性,
我:封裝、繼承、多型 封裝就好像.....。
上床睡覺時,物件導向有哪三大特性,
我:封裝、繼承、多型 封裝就好像.....。
之後就會越來越熟。ヽ(●´∀`●)ノ