多型 ew 英文 siw polymorphism. Polymorphism siw 物件取向 ew 三大特性之一. 物件取向 tiurhw siw object-oriented ew 台語翻譯. Iz ew 意思 siw chiapfkinw 物件中心, i 物件 uiz 主, tanwsiw iuwkurhf burz 仝. 多型 ewtangy kaw 衍生類別 ew 物件傳送 how 一 ez chiapfsiuw 基本類別 reference ew 多型函數. 物件取向 ew is-a hekwchiafsiw kind-of 關係 siw tuiy 類別 ew 繼承 titftiurhw 保證. Sofi lan kong 衍生類別 ewtangy theyuannw 基本類別.
台語文程式設計 ew 方法 kahf 多型 pingw burz 關係. Chitflez 方法 tongzjienz siw ewtangy sia 多型 ew 程式碼, tanwsiw iz pingw burz khanzsiapf tiurhw dynamic binding. Tngz le 寫程式 ew 時拵, maw siw lehf sia 自然語言 ew 文句, che 二 hangw taiwchiw siw 並行 ez. Lan maw ewtangy iongw is-a hekwchiafsiw kind-of laiz hingziongz 一个多義語 kahf iz 逐个意義之間 ew 關係. Tanwsiw chitfchiong is-a hekwchiafsiw kind-of 關係 siw tuiy polysemy hekwchiafsiw monosemy titt tiurhw , pingw mw siw tuiy inheritance 得 tiurh ew.
Chitflez 方法 mw siw behf cuftaiw 電腦語言. 事實上, iz siw how lan 用 lingwguaw 一个觀點 laiz khuanny 根源碼.
傳統上 lan lehh 寫程式 ew 時拵, lan 頭殼內底 ew taiwsing uw 一个想法. 了後 lan kurhf kaw chihflez 想法 hunzkai churhy 幾若个 logik 單位. Chitflez 分解 ew 過程 tiannwtiannz tiurhw siw 用歸納法 kahf 演繹法. Chia ez logik 單位, cinzciunnw function call, variable, class declaration 等等, ewtangy chofhapw churhy 一 ez thangz 運作 ew 程式. 了後組好 ew 程式碼 tiurhw ewtangy thehw khi parse, interpret, compile, kahf 執行.
Tuiy lingwguaw 一个觀點 laiz khuanny 根源碼, lan ewtangy kaw 程式碼 thiahykhuiz churhy 一个一个 ew 文. 每一个文 long ew khahf iz 頭前 ia siw 後壁 ew 文 hingzsingz 嵌入 hekwchiafsiw 並列 ew 關係. 每一个文 long ewtangy iongw 一个單語 laiz 表示. Suizjienz kong 每一个文 long ewtangy iongw 一 ez 多音節 ew 單語 laiz 表示, lan tiw chia iuzuanz siw iongw 單音節單語 laiz chury 例, anfne 看 khih laih khahf 好瞭解, maw kahf 好操作. 最後 lan kaw che 一序列 ew 單語 lienzkietf churhy 一句 hekwchiafsiw 一个文.
一个電腦語言 siw iongw 一 choz 固定 ew keyword kahf 標點符號 so chozhapw 成 ez. 現子時主流 ez 電腦語言 ew keyword long siw sufiongw 英文單語. Maw uw chinz chez 人 tehf sietfsiong behf khaizhuatf 非英文 ew 電腦語言, tanwsiw 使用 ew 人無算 chez. 非英文 ew 電腦語言 siw inogw 非英文 ew keyword, 相當 sekfhapw 母語 mw siw 英語 ew 人.
I 英文 chury 基礎 ew 電腦語言 kahf i 非英文 chury 基礎 ew 電腦語言, inz kam uw 共同點? Inz long siw logik 語言. Inz 其中 uw 一 kua kanznaz siw tuiy 英文 kaw keyword 翻譯 kueh khih niawniaz. Tiw chia Gua so 講 ew 翻譯 siw chi kaw i 英文 chury 基礎 ew 電腦語言內底 ew keyword 翻 kueh-khih.
Chitflez 方法 mw siw kanznaz tuiy 電腦語言 kaw keyword 翻譯 kuehwkhih nah-niaz. Lan te kiongztiauw iongw 台語文 sia 程式 siw 一種方法, 方法 pitfsuz siw thangz 操作 ew, chia ewtangy kaz hurw churhy 方法. Tiurhw siw kong lan siw iongw chitflez 方法 laiz sia 程式.
Chitflez 寫程式 ew 方法 maw mw siw 輸入法. 輸入法 siw lan iongw laiz 拍字 sanfsingz 一个單語序列 ew 軟體家私. Lan ew 方法 tiurhw siw aiy iongw tiurhw chitflez 軟體家私 so 產生 ew 單語序列. Chitflez 方法 tongzjienz maw ewtangy kahf i 非英文 chury 基礎 ew 電腦語言協作.
Chitflez 方法 siw tuiy 電腦語言 kurhf khahf ua 人一脚步. Iz siw chury 電腦語言 kahf 人 ew intermediate. Inzuiw iz intermediate, iz tiurhw uw 一 ez intermediate ew 機制. chitflez 機制 thangz how lan kaw 自然語言中 ew 單語 kahf 語句 tuiyingy kauy 電腦語言 ew 文. Inzuiw lan so 拍 ew siw 自然語言, lan tiurhw ewtangy tuiy 自然語言 ew 文 kahf 語彙來 lifkai 根源碼. Lan ewtangy tuiy 自然語言 laiz lifkai 電腦語言, lan tiurhw siw 降 kez liau chinyjipw 電腦語言 ew 障礙.
Kiyjienz ewtangy chiftingw 一个單語 how 一个文, hitflez 單語 maw ewtangy tongy churhy iz so 表示 ew 文 ew 註解. Chitflez單語意思上 khurflingz kahf iz so 表示 ew 文 uw 增差, ia mw kurhf iz maw siw ewtangy kahf 根源碼 ew comment 互相參考, 共同存在.
Lan naw kaw 一組文 chiftingw how 一个單語, lan sitwchey 上 lehf 做 ew siw thezkiongz 一組選項 how iz. Naw behf suan turhf 一个選項 siw aiy khinzkhiy 一个自然語言 ew 句 hekwchiafsiw 文 ew context laiz 決定. Naw siw 程式設計 tiurhw iongw context.add khahf context.remove laiz sietftingw context. Naw siw 人機界面 tiurhw siw 使用者 kiy suanftekw 一个選項. Tiurhw siw kong chitflez 選擇 ew 動作 ewtangy how 程式碼 ki sekfingy context. Naw siw context uw 改變, 選項 maw ew tuey lehf 改變. Naw siw 根源碼 ewtangy ki sekfingy context, 程式碼 tiurhw ew kahf uw 彈性, jizciann kurhf tuiy context ew 變化 sanfsingz 反應.
Naw siw i 適應性 laiz khuanny 根源碼, 程式碼 ew 一部分 siw uw 適應性, lingwguaw 一部分 siw 非適應性. Sofi 適應性 siw tuiy turhf 位來 ez? 一个軟體程式 ewtangy tauhy jip-khih 各種無仝欵 ew 硬體內底. 軟體 kurhf suziauy how 無仝欵 ew 使用者 tiw 無仝欵 ew 情形下操作. 一个 uw 適應性 ew 軟體程式 ewtangy tuiy 伊 ew 非適應性核心 titf tiurhw support, pingwciann tuiy context ew 變化 churycutf 反應. Uw 適應性 ew 軟體部件 ewtangy kaw 非適應性核心部件 pieny churhy khahf uw 彈性 kahf 反應性. Ahf 非適應性核心部件 ewtangy thezkiongz 功能 pingwciann chizuanz 適應性部件.
Lan laiz khuanny 下脚示 ew 表格:
| 示 | ||||
|---|---|---|---|---|
| 1 | siz | notify | notify the user | def notify end |
| 知 | ||||
| 1 | ti | inform | inform the user | def inform end |
| 印 | ||||
| 1 | inw | print to pdf | printToPdf | |
| 2 | print to paper | printToPaper |
Tiw tingfkuanx ez 表格, lan iongw def notify end laiz thezsiw 使用者, iongw def inform end laiz thongztiz 使用者. 了後 kurhf sietftingw context:
context.add([_ti, _inw, 2])
context.add([_siz, _inw, 1])
Tingfkuanx ez 表格 piaufsiw 知 behf cufiongw 印 ew 第二个定義. Sofi siwinw ew 程式碼 tiurhw ciunnw 下脚 anfne:
#
# siwinw
#
def notify
printToPdf
end
Ahf tizinw ew 程式碼 tiurhw ciunnw 下脚 anfne:
#
# tizinw
#
def inform
printToPaper
end
Che tiurhw 真明顯 aw, lan iongw 知 laiz cuftaiw 示 tiurhw kaw 印 ew 定義 uannw 掉 az. Punflaiz siwinw 是 thehw 印 ew printToPdf laiz 用, chimfmay kaw siz 換做 ti 變 tizinw , tizinw tiurhw thehw 印 ew printToPaper 來用. Sofi 印 ew tuey tiurhw context 內底 so 設定 ew 規則 kaifpieny iz ew 定義. Che tiurhw siw 印 ew 適應性.
下脚 siw 設 ew 表格:
| 設 | ||||
|---|---|---|---|---|
| 1 | siet | set up | set up printer core | def setUpPrinterCore end |
Naw siw uw che 二句 siet siwinw kahf siet tizinw, kahf inz 相關 ew 程式碼分別 siw che:
#
# siet siwinw
#
def setUpPrinterCore
end
def notify
printToPdf
end
kahf che:
#
# siet tizinw
#
def setUpPrinterCore
end
def inform
printToPaper
end
設 siw 非適應性核心部件, iz thezkiongz siongw 核心 ew 功能. siwinw kahf tizinw ewtangy thezkiongz 適應性 how siet, ahf siet 提供 siongw 核心, siongw 通用, 非適應性 ew 功能 how siwsiw kahf tizinw.
Chitflez 方法 mw siw behf cuftaiw 電腦語言. 自然語言 ewtangy kahf 電腦語言協作. Sofuw tuiy 自然語言施加 ew 操作 long ew huanfingy kauy 電腦語言 ew 文 ew 組合. Lan 下脚 ki 一 kua 例 laiz khuanny chitflez 方法 anfchuann kahf 現有 ew 電腦語言協作.
Che siw Python ew 表格:
| 設 | ||
|---|---|---|
| 1 | siet | def setUpPrinterCore(): |
| 示 | ||
| 1 | siz | def notify(): |
| 知 | ||
| 1 | ti | def inform(): |
| 印 | ||
| 1 | inw | printToPdf() |
| 2 | printToPaper() |
Che siw iongw Python sia siet tizinw ew code snippet:
#
# siet tizinw
#
def setUpPrinterCore():
def inform():
printToPaper()
Che siw C ew 表格:
| 設 | ||
|---|---|---|
| 1 | siet | void setUpPrinterCore(){} |
| 示 | ||
| 1 | siz | void notify(){} |
| 知 | ||
| 1 | ti | void inform(){} |
| 印 | ||
| 1 | inw | printToPdf(); |
| 2 | printToPaper(); |
Che siw iongw C sia siet tizinw ew code snippet:
//
// siet tizinw
//
void setUpPrinterCore()
{
}
void inform()
{
printToPaper();
}
Che siw Swift ew 表格:
| 設 | ||
|---|---|---|
| 1 | siet | func setUpPrinterCore(){} |
| 示 | ||
| 1 | siz | func notify(){} |
| 知 | ||
| 1 | ti | func inform(){} |
| 印 | ||
| 1 | inw | printToPdf() |
| 2 | printToPaper() |
Che siw iongw Swift sia siet tizinw ew code snippet:
//
// siet tizinw
//
func setUpPrinterCore()
{
}
func inform()
{
printToPaper()
}
Che siw XML ew 表格:
| 設 | ||
|---|---|---|
| 1 | siet | setting up |
| 示 | ||
| 1 | siz | |
| 知 | ||
| 1 | ti | |
| 印 | ||
| 1 | inw | print to pdf |
| 2 | print to paper |
Che siw iongw XML sia siet tizinw ew code snippet:
//
// siet tizinw
//
<printercore>
setting up
</printercore>
<piecesofinformation>
print to paper
</piecesofinformation>
Chitflez 方法 ewtangy ingyiongw kauy 現有 ew programming paradigm, mwkuan iz siw functional, procedural, hekwchiafsiw object-oriented. Thehw 任何一 ez code snippet 來, iz long ewtangy how 剖文 churhy 二種組合 ew 其中一種: 並列 hekwchiafsiw 嵌入. Tiw C ew 例內底, 一 ez for-loop 文 ewtangy kaw 幾若个文嵌 jip-khih. Ahf 嵌 uw hunz 二種, 一種 siw kangz 嵌 ew, 一種 siw hongz 嵌 ew. Lan ewtangy kong for-loop kaw 幾若个文嵌 leh, chitflez for-loop siw 一 ez kangz 嵌 ew 文. Che 幾若个文 naw siw how for-loop 嵌 leh, che 幾若个 tiurhw siw hongz 嵌 ew 文. 所謂 ew 嵌 tiurhw siw 鑲嵌 ew 嵌, 英文 tiurhw siw embedding ew 意思. 英文內底 kurhf uw 一个單語 nesting maw ewtangy hingziongz 一个文 kaw lingwguaw 一个文嵌 jip-khih. Kizsitw embedding khahf nesting siw 二个無仝欵 ew 概念, maw uw 一 kua 程式語言 siw khakfsitw kaw embedding kahf nesting ew 用法分 kahf 真清楚. Ia kurhf nesting mw chaiziann anfchuann kaw huanz churhy 台語 kahf 好. Sofi 嵌 chitt 字 siw chimfmay siongw 適當 e, ewtangy titwchiapf thehw laiz 用 ew 字.
Thehw function-block laiz chury 例, function ew 名 kahf iz ez return type siw kangz 嵌 ew 文, function-body 內底 so 嵌 ew 文 siw hongz 嵌 ew 文. 紲 lurhwlaih siw 並列. 二个文 naw siw 並列, piaufsiw inz 二个齊頭並列. 譬喻 kong, uw 一个 for-loop kahf 一个 function call 齊頭並列, inz tiurhw siw 並列.
Chitflez 方法 mw siw 一 ez 新 ez programming paradigm. Tiurhw siw kong, 一 ez 寫程式 ew method mw siw 一个 paradigm. Chitflez 方法 maw ewtangy ingyiongw kauy jimwhurz 新發明 ez paradigm.
Che siw 物件取向 paradigm ew 表格:
| 設 | ||
|---|---|---|
| 1 | siet | void setUpPrinterCore(){} |
| 示 | ||
| 1 | siz | void notify(PrintingObject prnObj){} |
| 知 | ||
| 1 | ti | void inform(PrintingObject prnObj){} |
| 印 | ||
| 1 | inw | prnObj.printToPdf(); |
| 2 | prnObj.printToPaper(); |
Che siw siet tizinw ew 物件取向 code snippet:
//
// siet tizinw
//
void setUpPrinterCore()
{
}
void inform(PrintingObject prnObj)
{
prnObj.printToPaper();
}
Che siw scripting paradigm ew 表格:
| 設 | ||
|---|---|---|
| 1 | siet | function setUpPrinterCore(){} |
| 示 | ||
| 1 | siz | function notify(){} |
| 知 | ||
| 1 | ti | function inform(){} |
| 印 | ||
| 1 | inw | printToPdf(); |
| 2 | printToPaper(); |
Che siw siet tizinw ew scripting code snippet:
//
// siet tizinw
//
function setUpPrinterCore()
{
}
function inform()
{
printToPaper();
}
Che siw functional paradigm ew 表格:
| 設 | ||
|---|---|---|
| 1 | siet | (defun setUpPrinterCore) |
| 示 | ||
| 1 | siz | (defun notify()) |
| 知 | ||
| 1 | ti | (defun inform()) |
| 印 | ||
| 1 | inw | (format t “printing to pdf”) |
| 2 | (format t “printing to paper”) |
Che siw siet tizinw ew functional code snippet:
;;
;; siet tizinw
;;
(defun setUpPrinterCore)
(defun inform()
(format t "printing to paper")
)
Che siw declarative paradigm ew 表格:
| 設 | ||
|---|---|---|
| 1 | siet | #setUpPrinterCore {transition-duration: 1s;} |
| 示 | ||
| 1 | siz | #notifications{} |
| 知 | ||
| 1 | ti | #piecesOfInformation{} |
| 印 | ||
| 1 | inw | background-color: #ffffff |
| 2 | background-color: #000000 |
Che siw siet tizinw ew declarative code snippet:
/*
siet tizinw
*/
#setUpPrinterCore
{
transition-duration: 1s;
}
#piecesOfInformation
{
background-color: #ffffff
}