物件導向三大特徵:封裝、繼承、多型
封裝:將資料和方法放在乙個類中就構成了封裝
繼承:python中乙個類可以繼承於乙個類也可以繼承多個類,被繼承的類叫做父類(或叫基類, base class),繼承的類叫子類
多型:指的是一類事物有多種形態,乙個抽象類有多個子類(因而多型的概念依賴於繼承),不同的子類物件呼叫相同的方法,產生不同的執行結果,多型可以增加**的靈活度
鴨子型別的體現:
靜態語言:對於靜態語言(j**a,c#)來講上面傳入的物件必須是base型別或者它的子類,否則,將無法呼叫run()方法
動態語言:對於動態語言python來講,上面傳入的不一定是base型別,也可以是其它型別,只要在內部實現了乙個run方法,這就叫做鴨子型別的體現
多型的意義:開放封閉原則
對於乙個變數,我們只需要知道它是base型別,無需確切知道它的子型別,就可以呼叫run()方法(即呼叫方只管呼叫,不管細節)
當需要新增功能,只需要新增乙個base的子類實現run()方法,就可以在原來的基礎上進行功能擴充套件
對擴充套件開放:允許新增base子類
對修改封閉:不需要修改依賴base型別的run()等函式
python高階 五 多型和屬性訪問
物件導向三大特徵 封裝 將資料和方法放在乙個類中,構成封裝 繼承 子類繼承父類屬性和方法,可多繼承 多型 乙個事物有多種形態,乙個抽象類有多個子類,不同的子類物件呼叫相同的方法,產生不同的執行結果。多型可以增加 的靈活度。是基於類的繼承。class animal defrun self raise ...
Python高階 3 1再議 封裝 繼承 多型
封裝 繼承 多型 是物件導向的3大特性 使用函式來開發,示例 如下 使用物件導向來開發,示例 如下 好處在使用面向過程程式設計時,當需要對資料處理時,需要考慮用哪個模板中哪個函式來進行操作,但是當用物件導向程式設計時,因為已經將資料儲存到了這個獨立的空間中,這個獨立的空間 即物件 中通過乙個特殊的變...
python有多型嗎 Python 多型
python多型 思維導圖 多型概念 一種事物具備多種 不同的形態 例如 水 固態 液態 氣態 官方解釋 多個不同類的物件可以響應同乙個方法,產生不同的結果 首先強調多型不是一種特殊的語法,而是一種狀態 特性 即多個不同物件可以響應同乙個方法,產生不同結果 好處 對於使用者而言,大大的降低了使用難度...