在眾多程式語言的教學中,很多時候新手的焦點都會集中在程式語言的語法上而不是程式背後的概念上,這也導致了他們在開始嘗試接觸較進階的程式語言知識時容易因為不習慣理解抽象的程式概念而陷入瓶頸,或是在轉換到別的程式語言時會因為不熟悉程式的基礎概念而需要重新從零學起,浪費大量的時間。因此,在本系列中,希望可以嘗試集中在程式的概念進行討論來加強新手們及筆者自己對程式的基礎的一些認識。
昨天,我們介紹了結構,而今天,我們要討論的則是它的全面升級版的類別 (Class)。我們可以把類別理解為是以結構的相似概念為基礎,為了對應更多更複雜的狀況而追加...
昨天,我們介紹了類別,而今天,我們則會討論它的第一個特性:繼承 (Inheritance)。 繼承的概念最少會涉及兩個類別,第一個是「被繼承」的父類別 (Sup...
在開始今天的討論前,讓我們先來看一下昨天最後的問題: 假如現在我們要除了定義鴨子跟老鷹的類別外,還要定義玩具飛機跟玩具輪船的類別: 老鷹類別(Eagle):[...
在了解了抽象化的概念後,接下來我們要討論的是物件導向中的第三個特性:多型 (Polymorphism)。 昨天介紹抽象類別時,我們曾提到有時候繼承同一個父類別的...
今天我們要討論的是物件導向的第四個特性,封裝 (Encapsulation)。封裝的概念是把類別中的細節,例如變數跟函式的實作方式等,都保留在該類別裡面,不讓類...
在了解了物件導向的基礎後,接下來要討論的是當我們呼叫函式透過參數來傳遞資料時需要注意的一個細節,傳值 (Pass by value) 與傳址 (Pass by...
大家可能會發現,當我們以 C# 為例子的時候,主函式跟它的類別中的其他函式或全域變數都會被加上 static 修飾詞。而今天,我們便要討論的便是這些被加上 st...
一般來說,程式在被開發至一定規模後,我們便很難把該程式在執行時所有可能發生的錯誤都找出來並將其修掉,尤其是當我們的程式需要與外部連動的時候,例如透過網路來連接伺...
在之前介紹多型的文章中,我們曾經提到多載行為 (Overload),它容許我們在同一個函式中使用不同的資料型態跟數量的參數,讓函式可以有更多的變化,也可以應對更...
來到最後一天,我們已經了解了很多程式的相關概念,因此今天想跟大家討論的是在學習了基礎概念後可以考慮的學習方向。在開始之前,先讓我們來簡單的回顧一下本系列中介紹的...