學習 Kotlin 系列:物件導向語言

學習 Kotlin 系列:物件導向語言

更新於 發佈於 閱讀時間約 2 分鐘

也許有人聽過, Kotlin 是物件導向語言。

既然都特別提了,肯定還有其他種語言,那就是程序導向語言。

最大的差別就是因為物件導向語言有了物件的概念,所以有了三大能力:繼承(Inheritance)封裝(Encapsulation)多型(Polymorphism)

繼承有何好處呢?那就是重複的定義不用再寫一遍。先在這邊區別一下名稱,被繼承的叫「父類別」,繼承人的叫「子類別」。

繼承能讓父與子保持著聯繫,當「父類別」決定增加屬性,「子類別」就會一起增加。如果不使用繼承的功能,而是用複製貼上,就必須考慮有一天定義變了,複製體卻沒有被通知的情況。

用更常見的例子比較,新設計的高中制服,會統一要求還在就讀的學生購買,而畢業生則不被通知。

封裝能讓寫好的工具只提供他人使用介面,把邏輯和結構隱藏起來,也因此,注重資訊安全的企業,比如銀行,就不會使用外人封裝的程式碼。

多型能讓共通的介面存在於不同結構的物件。比如按下鍵盤上同樣的按鍵,會因輸入法不同,輸出不同的文字。

設計好的物件可輕易重複利用、又能靈活擴充,所以受到歡迎。不過也因需要先設計好物件容器來容納資料和連結物件之間的關係,多了幫指令排隊的步驟,執行效率差於程序導向。

需要執行效率高的程式會選擇程序導向語言,比如硬體底層驅動或是加密演算,求的就是指令直接按照撰寫順序執行。

avatar-img
Kate的沙龍
6會員
45內容數
和 Kotlin 相關的系列文章。 給程式初學者的「Kotlin 學習系列」 給正在實戰的工程師「Kotlin 實戰系列」
留言
avatar-img
留言分享你的想法!
Kate的沙龍 的其他內容
比起說這是新技術,不如說是統一前端規格。 以前在不同框架下,類似功能的東西名字各不相同。比如輸入文字的物件,Android叫做EditText,iOS叫做UITextField,Html叫做TextBox或是input標籤。 這讓跨平台的開發者非常痛苦,痛不欲生。 而統一規格意味著,只要專心寫一套程
去年停了近一年這裡的文章,其實是因為忙著將2020 iThome 鐵人賽的得獎作品——每年九月會舉辦的活動,連續三十天發表IT技術類文章——集結成書。 《老姐要用Kotlin寫專案:從 Server 到 Android APP 的開發生存日記》是以小說的敘事方式,將一對姐弟工程師合作
此版本的目標畫面成果是: *金色名字。 *金色社交按鈕圖示,點擊按鈕另開對應的網頁或著顯示comming soon。 *名字和按鈕在網頁中央,如果網頁寬度不夠會換行,夠就不換行。
比起說這是新技術,不如說是統一前端規格。 以前在不同框架下,類似功能的東西名字各不相同。比如輸入文字的物件,Android叫做EditText,iOS叫做UITextField,Html叫做TextBox或是input標籤。 這讓跨平台的開發者非常痛苦,痛不欲生。 而統一規格意味著,只要專心寫一套程
去年停了近一年這裡的文章,其實是因為忙著將2020 iThome 鐵人賽的得獎作品——每年九月會舉辦的活動,連續三十天發表IT技術類文章——集結成書。 《老姐要用Kotlin寫專案:從 Server 到 Android APP 的開發生存日記》是以小說的敘事方式,將一對姐弟工程師合作
此版本的目標畫面成果是: *金色名字。 *金色社交按鈕圖示,點擊按鈕另開對應的網頁或著顯示comming soon。 *名字和按鈕在網頁中央,如果網頁寬度不夠會換行,夠就不換行。