類的方法與函式的區別
例項物件屬性
類物件屬性
物件導向程式設計——object oriented programming,簡稱oop,是一種程式設計思想。oop把物件作為程式的基本單元,乙個物件包含了資料和運算元據的函式。
面向過程的程式設計把電腦程式視為一系列的命令集合,即一組函式的順序執行。為了簡化程式設計,面向過程把函式繼續切分為子函式,即把大塊函式通過切割成小塊函式來降低系統的複雜度。
而物件導向的程式設計把電腦程式視為一組物件的集合,而每個物件都可以接收其他物件發過來的訊息,並處理這些訊息,電腦程式的執行就是一系列訊息在各個物件之間傳遞。
好的,我們知道這一大段話比較難以理解。「物件導向程式設計(oop),是一種程式設計方式,這種程式設計方式需要使用「物件」來實現。」就像人們總是喜歡把一句簡單的話擴充成誰也聽不懂的句子。。。
所以讓我們來簡單一點講述這個概念。
那麼,什麼是物件?……
…一切都是物件。
世間萬物皆物件
某個具體的領域也是由物件組成的,例如:
在學校,物件包括學生,老師,課程,教室和成績單等。。。
在銀行領域,物件包括銀行賬戶、出納員、支票等。。。
(日常生活中就是桌子、椅子、蘋果、房子都是物件)
每個物件都是唯一的
物件的唯一性來自於真實世界中事物的唯一性
世界上不存在兩片一模一樣的葉子,因此在軟體系統中的物件也具有唯一性。
物件具有屬性和行為
例如:小王,性別男,年齡18,身高1.8m,體重70kg,能夠學習、唱歌和打桌球、程式設計。
那麼我們可以獲得什麼呢?
小王屬性
小王行為
姓名學習
性別唱歌
年齡打桌球
身高、體重
程式設計物件具有狀態
狀態是指某個瞬間物件的各個屬性的取值
物件的某些行為往往會改變物件自身的狀態,即屬性的取值。
例如:小王的體重本來70kg,**後,體重變為70kg.【屬性改變了】
(有一種養成遊戲中主角在數值上發生的某些變化的感覺…)
物件分為類物件和例項物件兩大類
類物件是具有相同屬性和行為的例項物件的抽象
類物件就是例項物件的模板,例項物件是由類物件建立出來的。
此外,同乙個類物件的所有例項物件如果具有相同的屬性,表明它們的屬性的含義是相同的。
你→拿著月餅模具→壓出好多月餅抽象出類物件。。。月餅模具 —————————————→類物件
壓出的月餅————————————→例項物件
抽象出類物件的屬性
抽象出類物件的行為(方法)
根據類物件建立例項物件
通過例項物件訪問屬性和方法
抽象:
(各式各樣的貓咪)
那麼我們現在要開始抽象
定義類物件的語法格式:
class 類名 (object):
#屬性與方法
其中:
類名由乙個或多個單詞組合而成,每個單詞的首字母大寫且其餘字母全部小寫,例如:someclass.
(object)表示該類物件繼承自python內建的類物件object,python中所有的類物件都繼承資乙個統一的基類:object。
例:
>>>class someclass(object):
pass
行為(方法)是類中特殊的函式。
比如:貓具有的行為↓
1、跑2、喵喵叫
3、年齡
4、健康狀況等
那麼貓可以做什麼呢?
1、跑 2、喵喵叫 3、吃東西↓抽象
行為(方法)是類中特殊的函式。
方法就是定義在類物件中的函式。方法與函式的區別在於:
定義方法時,方法的第乙個形參表示呼叫該方法的例項物件,第乙個形參的名稱通常是self,也可以是其他名稱。
呼叫方法時,系統自動將呼叫該方法的例項物件作為實參傳遞給第乙個形參。第乙個實參會傳遞給第二個形參,第二個實參會傳遞給第三個形參,以此類推。
根據類物件建立例項物件的語法格式為:
現在我們可以通過類物件來建立例項物件了:
成功~例項屬性指的是例項物件所繫結的屬性。
繫結例項屬性(給例項物件繫結屬性)的方式有兩種:
在類物件的內部(方法中)
語法格式:self.屬性名 = 屬性值
推薦在特殊方法【init】中進行繫結,這樣,在建立例項物件後就會自動呼叫特殊方法【int】對例項物件進行初始化,從而繫結實力屬性。如果在其他方法中進行繫結,可能需要手動呼叫該方法後才會繫結
在類物件的外部
python是動態語言,所以,在例項物件建立之後,可以對其動態地繫結屬性。
語法格式:例項物件.屬性名 = 屬性值
如果指定名稱的例項屬性已經存在,則是對例項屬性進行修改 。
訪問例項屬性的方式有兩種:
在類物件的內部(方法中)
語法格式:self.屬性名在類物件的外部
語法格式:例項物件.屬性名
之所以新增字首"self"或"例項物件」,是為了表明例項屬性被哪個例項物件所繫結。
【舉個例子】↓↓↓↓↓
可獲得該例項物件所繫結的所有屬性及其值的字典。
類屬性指的是類物件所繫結的屬性。
繫結類屬性(給類物件繫結屬性)的方式有兩種:
在類物件的內部(方法外)
語法格式:屬性名=屬性值
在類物件的外部
python是動態語言,所以,在類物件建立之後,可以對其動態地繫結屬性。
語法格式:類物件.屬性名=屬性值
如果指定名稱的類屬性已經存在,則是對類屬性進行修改。
訪問類屬性的方式有兩種:
在類物件的內部(方法中)
語法格式:類物件.屬性名
在類物件的外部
語法格式:類物件.屬性名 或: 例項物件,屬性名
類物件的所有例項物件都有乙個指向類物件的指標,所以,類物件的所有例項物件都可以訪問類屬性。
之所以新增字首"類物件",是為了表明類屬性被哪個類物件所繫結。
教你如何 物件導向程式設計 超詳解!(六)
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...
this詳解與物件導向程式設計
js中的this物件詳解 一 方法呼叫模式 當函式被儲存為乙個物件的屬性時,它就可稱為這個物件的方法。當乙個方法被呼叫時,this被繫結到這個物件上。如果呼叫 表示式包含乙個提取屬性的動作 或 那麼它被稱為方法呼叫。例如 var name window var obj obj.sayname kxy...
this詳解與物件導向程式設計
js中的this物件詳解 一 方法呼叫模式 當函式被儲存為乙個物件的屬性時,它就可稱為這個物件的方法。當乙個方法被呼叫時,this被繫結到這個物件上。如果呼叫 表示式包含乙個提取屬性的動作 或 那麼它被稱為方法呼叫。例如 var name window var obj obj.sayname kxy...