iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Software Development

程式基礎概念討論 系列

在眾多程式語言的教學中,很多時候新手的焦點都會集中在程式語言的語法上而不是程式背後的概念上,這也導致了他們在開始嘗試接觸較進階的程式語言知識時容易因為不習慣理解抽象的程式概念而陷入瓶頸,或是在轉換到別的程式語言時會因為不熟悉程式的基礎概念而需要重新從零學起,浪費大量的時間。因此,在本系列中,希望可以嘗試集中在程式的概念進行討論來加強新手們及筆者自己對程式的基礎的一些認識。

鐵人鍊成 | 共 30 篇文章 | 8 人訂閱 訂閱系列文 RSS系列文
DAY 21

[DAY 21] 踏進物件導向大門的類別

昨天,我們介紹了結構,而今天,我們要討論的則是它的全面升級版的類別 (Class)。我們可以把類別理解為是以結構的相似概念為基礎,為了對應更多更複雜的狀況而追加...

2022-10-06 ‧ 由 破銅爛鐵 分享
DAY 22

[DAY 22] 繼承把物件重複的定義都整合在一起

昨天,我們介紹了類別,而今天,我們則會討論它的第一個特性:繼承 (Inheritance)。 繼承的概念最少會涉及兩個類別,第一個是「被繼承」的父類別 (Sup...

2022-10-07 ‧ 由 破銅爛鐵 分享
DAY 23

[DAY 23] 抽象化讓我們快速知道類別的功能

在開始今天的討論前,讓我們先來看一下昨天最後的問題: 假如現在我們要除了定義鴨子跟老鷹的類別外,還要定義玩具飛機跟玩具輪船的類別: 老鷹類別(Eagle):[...

2022-10-08 ‧ 由 破銅爛鐵 分享
DAY 24

[DAY 24] 多型讓類別的內容有更多變化

在了解了抽象化的概念後,接下來我們要討論的是物件導向中的第三個特性:多型 (Polymorphism)。 昨天介紹抽象類別時,我們曾提到有時候繼承同一個父類別的...

2022-10-09 ‧ 由 破銅爛鐵 分享
DAY 25

[DAY 25] 封裝是一種好習慣

今天我們要討論的是物件導向的第四個特性,封裝 (Encapsulation)。封裝的概念是把類別中的細節,例如變數跟函式的實作方式等,都保留在該類別裡面,不讓類...

2022-10-10 ‧ 由 破銅爛鐵 分享
DAY 26

[DAY 26] 在函式中傳遞資料時要注意的細節

在了解了物件導向的基礎後,接下來要討論的是當我們呼叫函式透過參數來傳遞資料時需要注意的一個細節,傳值 (Pass by value) 與傳址 (Pass by...

2022-10-11 ‧ 由 破銅爛鐵 分享
DAY 27

[DAY 27] 突破作用域限制的靜態成員

大家可能會發現,當我們以 C# 為例子的時候,主函式跟它的類別中的其他函式或全域變數都會被加上 static 修飾詞。而今天,我們便要討論的便是這些被加上 st...

2022-10-12 ‧ 由 破銅爛鐵 分享
DAY 28

[DAY 28] 不怕一萬只怕萬一的例外處理

一般來說,程式在被開發至一定規模後,我們便很難把該程式在執行時所有可能發生的錯誤都找出來並將其修掉,尤其是當我們的程式需要與外部連動的時候,例如透過網路來連接伺...

2022-10-13 ‧ 由 破銅爛鐵 分享
DAY 29

[DAY 29] 模板/泛型幫助我們可以使用同樣的內容應對更多的狀況

在之前介紹多型的文章中,我們曾經提到多載行為 (Overload),它容許我們在同一個函式中使用不同的資料型態跟數量的參數,讓函式可以有更多的變化,也可以應對更...

2022-10-14 ‧ 由 破銅爛鐵 分享
DAY 30

[DAY 30] 接下來的方向

來到最後一天,我們已經了解了很多程式的相關概念,因此今天想跟大家討論的是在學習了基礎概念後可以考慮的學習方向。在開始之前,先讓我們來簡單的回顧一下本系列中介紹的...

2022-10-15 ‧ 由 破銅爛鐵 分享