教你如何 物件導向程式設計 超詳解! 一

2021-09-21 07:41:25 字數 3962 閱讀 7328

類的方法與函式的區別

例項物件屬性

類物件屬性

物件導向程式設計——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...