面向物件: Python 類的單繼承與多繼承
每種動物都有各自的特性,比如
老鼠會打洞
貓會爬樹
鯊魚會游泳
不同種類有不同的天性。而在程式員的思維中,動物是物件, 天性是這個類方法或者屬性。
再延伸一下,比如Python是面向物件程式語言。有List、Str、Dict、Tuple等資料型別,這些資料型別也是物件,比如List類可以有count方法,我們可以通過count方法統計列表中各個元素的數量。
我們可以簡單的將定義類理解成就是定義資料結構,同時給這種資料結構制定一些獨特的屬性或者方法。我們先看最簡單的類,在這裡我們定義了Point類

呼叫類之前我們要例項化,這個可以理解成神筆馬良畫的畫,如果不將其搞活,永遠是畫。通過例項化,呼叫例項,畫中物件就活了。

單繼承
白馬和黑馬,都是馬。
既然都是馬,所以不論黑馬白馬都有馬的特性,都可以奔跑。
所以我們可以定義一個基本的"馬類",之後讓"白馬類"和"黑馬類"繼承自"馬類"
像白馬和黑馬繼承馬,這就是單繼承。因為只是繼承了 一個基類。現在我們定義一個Circle類, 圓是由圓心和半徑決定的,所以Circle會繼承並使用Point的一些特性。

現在我們看看Circle

程式碼執行結果

多繼承
多繼承,顧名思義就是某個類繼承了多個父類(基類)

繼續

執行結果

現在已經有了Point、Size類,以及每個類中的String()方法。現在想構建正四方形Rectangle類。為了讓Rectangle具有Point和Size的一些特性,需要讓Rectangle繼承Point和Size的一些特有的方法。

Rectangle繼承了Point和Size兩個類,使得Rectangle不用定義x、y、width、height。而且Rectangle的String方法可以直接呼叫Point和Size物件的String方法。
