iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Software Development

Oops! OOPP: An Introduction to Object-Oriented Programming in Python 系列

本系列預計先介紹物件導向(以下簡稱OO)的基本概念,然後依OO的三或四大支柱:(Abstraction), Encapsulation, Inheritance, and Polymorphism,說明Python如何以其語言哲學來實作這幾個OO核心概念。如行有餘力,將試圖比較Python和其他OO程式語言(C++, Java, C#等)在OO實作上的異同。

內容分配:
OO基本概念介紹:約1-2篇
Abstraction $ Encapsulation: 約10篇
Inheritance: 約8篇
Polymorphism: 約8篇
結論:約2-3篇

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

OO是一種Paradigm

開宗明義,先說本系統文章的寫作風格:盡量條列,並附上圖解及程式碼。開講: Object-Oriented這個術語,台灣的中譯『物件導向』相信大家都耳熟能詳,大...

2022-09-16 ‧ 由 alexvan 分享
DAY 2

類別是「模板」或「藍圖」

上篇提到OO的優點之一是較為直觀,例如透過類別Person定義一個me。至於Person()和me之間的關係,用以下比喻(其實是事實),初學者可能更易理解:...

2022-09-17 ‧ 由 alexvan 分享
DAY 3

OO的幾大支柱

上篇的最後提到物件導向程式設計有三大「鼎足」,不過西方人好像沒有鼎,所以通常用「支柱」(pillars)來形容。其實不管鼎足還是支柱,指的都是OO的幾大重要概念...

2022-09-18 ‧ 由 alexvan 分享
DAY 4

Constructor是啥?

之前說到OO程式設計的實際運作,就是將資料(attributes)和使用這些資料的方法(methods)「封裝」在類別(class)中。今天起我們將逐漸「接地氣...

2022-09-19 ‧ 由 alexvan 分享
DAY 5

3個P's:公開、保護、私有

介紹完constructor建構子,今天起講一個可能是封裝方面最重要的主題:封裝的「保護層級」。 封裝保護層級,是類別中的資料(屬性)和動作(方法)對外的可...

2022-09-20 ‧ 由 alexvan 分享
DAY 6

內外有別

昨天講到封裝的一個重要觀念「保護層級」,筆者稱之為三個p's(或P's):public(公開), protected(保護), 和private(私有)。今天將...

2022-09-21 ‧ 由 alexvan 分享
DAY 7

Python也有Magic Johnson?

不管您是否NBA粉絲,只要對籃球界有點認識,NBA史上傳奇控衛--Magic Johnson魔術強生--的大名,總不會陌生吧?告訴大家,原來Python也有Ma...

2022-09-22 ‧ 由 alexvan 分享
DAY 8

在外部修改私有屬性,真行嗎?

昨天最後的「下篇預告」,筆者突然冒出一句:Python是可以在外部修改私有屬性的。這裡的「修改」,昨天沒有交代得很清楚,其實筆者想說的是:Python是可以使用...

2022-09-23 ‧ 由 alexvan 分享
DAY 9

Class為甚麼需要Private Attributes?

今天以實例說明何以類別要有私有屬性。實務上私有屬性的機制,對類別究竟有甚麼「貢獻」。 很多人為求方便或並不了解保護層級的概念,在設計類別的時候,所有屬性一律...

2022-09-24 ‧ 由 alexvan 分享
DAY 10

Attributes vs Properties

今天起介紹封裝的另一個主題:attributes vs properties(或單數attribute vs property)。 昨天花了很大力氣,設法釐...

2022-09-25 ‧ 由 alexvan 分享