1.物件:世間萬物皆是物件。通常將物件分為兩部分:靜態部分(屬性)和動態部分(行為)。例如人的性別是物件人的屬性,人走路是物件人的行為。python天生是物件導向的。
2.類:類是封裝物件的屬性和行為的載體。類是乙個抽象概念,例如定義人是乙個類,那麼男人、女人都是人這一類的例項。
3.物件導向程式設計的特點:三大基本特徵:封裝、繼承、多型。
封裝:是oop的核心思想,將物件的屬性和行為封裝起來,避免了外部對類內部資料的影響。
繼承:繼承是實現重複利用的重要手段,子類通過繼承復用了父類的屬性和行為的同時,又新增了子類特有的屬性和行為。例如定義四邊形是乙個類,那麼平行四邊形、梯形等都可以通過繼承呼叫。其中四邊形類稱為父類或超類,平行四邊形、梯形等稱為子類。
多型:將父類物件應用於子類的特徵就是多型。子類繼承父類特徵的同時,也具備了自己的特徵,並且能夠實現不同的效果,這就是多型化的結構。
4.定義類:
定義類用關鍵字class實現: class classname: 注:類的名字(即classname)一般首字母大寫。例如:class person():
建立類的例項: 例如:man=person()
建立__init__(): __init__() 方法第乙個引數必須是 self (不然會報錯),其餘引數用逗號隔開。
建立例項方法:例項方法是指在類中定義的函式,格式為 def functionname(self,parameterlist):
建立資料成員:資料成員是指在類中定義的變數,即屬性,根據定義位置,分為類屬性和例項屬性。其中,例項屬性指在例項(即類中函式)中定義的,只作用於當前例項;類屬性是指在例項外定義的,在所有例項化的物件中公用。
訪問限制:單下劃線(_foo):只允許類本身和子類進行訪問,不能使用 from module import 匯入
雙下劃線(__foo):只允許定義該方法的類本身進行訪問,不能通過類的例項進行訪問,但是可以通過「類的例項名._類名__***」訪問。
首尾雙下劃線(__foo__):表示定義特殊方法,一般是系統定義名字,例如__init__()。
5.繼承
當要編寫的類和另乙個已經存在的類之間存在一定繼承關係時,就可以通過繼承來達到**重用的目的,提高開發效率。
繼承語法格式為 class classname(baseclasslist): 其中baseclasslist為要繼承的父類,可以有多個,用逗號隔開。
方法重寫:父類的成員都會被子類繼承,當父類中的某個方法不完全適用子類時,就需要在子類中重寫。
子類中呼叫父類__init__()的方法:在子類中定義__init__()時,不會自動呼叫父類的__init__()方法。需要加上 super.().__init__()
Python學習筆記 6 高階函式 物件導向程式設計
什麼是高階函式?高階函式英文叫higher order function。什麼是高階函式?我們從實際 一步一步深入概念。以內建函式max 為例吧 max 1,5,4 5 max in function max x max 1,5,4 x 5可見,max 1,5,4 是函式呼叫,而max是函式本身,要...
javascript 學習筆記之物件導向程式設計
物件特殊屬性 資料屬性和訪問器屬性 1 資料屬性 configurable 是否可刪除 enumerable 是否可列舉for in writable 是否可寫 value 值 要修改預設屬性必須使用defineproperty object,key,descriptor 方法 例如 var per...
Python學習筆記 物件導向
物件導向 oop 基本概念 物件導向程式設計 object oriented programming簡寫 oop 1 物件導向基本概念 之前的學習程式設計方式就是面向過程的 面向過程和物件導向,是兩種不同的程式設計方式 對比面向過程的特點,可以更好的了解什麼是物件導向 2 過程和函式 科普 過程是最...