物件導向筆記
類別 class
ex. 定義抽像的狗,最初的定義
類別 狗
開始
私有成員
孕育
毛色
公有成員
吠叫()
結束
so.
class 是最初步的定義一個物件原生的屬性
class狗,是要先建立他的私有屬性如(毛色),共通屬性如(吠叫() <-- 後面有括號的是一種方法 method)
=============================
物件 object
定 義物件
ex. 明確定義一隻名叫來福的狗以及他的屬性(毛色),然後叫來福吠叫
定義來福是狗
來福.毛色=白色
來福.吠叫 ()
===================
方法 method
吠叫()
坐下()
吃() 這些都是方法
ex. 這裡定義兩隻狗,但只叫來福吠叫
定義來福是狗
定義阿吉是狗
來福.吠叫()
=====================
繼 承性 Inheritance
某些情況,一個類別會有「子類別」,會比原類別「父類別」更具體化,並且繼承父類別的所有屬性
ex.
狗 類別(父)
-->牧羊犬(子)類別
-->吉娃娃(子)類別
子類別會繼承父類別的屬性與行為,亦包含自己的。
ex.
類 別 牧羊犬:繼承狗
定義 來福是牧羊犬
來福.吠叫()
定義子類別
ex.
類別 吉娃娃:繼承狗
開 始
公有成員:顫抖()
結束
類別 牧羊犬:繼承狗
定義 來福是牧羊犬
來福.吠叫() --> 成立
來 福.顫抖() --> 不成立,因為只有吉娃娃會顫抖
================================
多 型性 Polymorphism
同樣的method放不同的class會有不同的反應
ex.
類別 狗
開始
public
叫()
開始
吠叫()
結束
結 束
類別 雞
開始
public
叫()
開始
啼叫()
結束
結束
定義 來福是狗
定義 小鳥是雞
來福.叫() --> 吠叫
小鳥.叫() --> 啼叫