物件導向基礎

2021-09-19 05:39:17 字數 2512 閱讀 2706

分析出解決問題的步驟,然後逐步實現。

例如:婚禮籌辦

– 發請柬(選**、措詞、製作)

– 宴席(場地、找廚師、準備桌椅餐具、計畫菜品、購買食材)

– 婚禮儀式(定婚禮儀式流程、請主持人)

公式:程式 = 演算法 + 資料結構

優點:所有環節、細節自己掌控。

缺點:考慮所有細節,逐個實現功能工作量大。

找出解決問題的人,然後分配職責。

例如:婚禮籌辦

– 發請柬:找攝影公司(拍**、製作請柬)

– 宴席:找酒店(告訴對方標準、數量、挑選菜品)

– 婚禮儀式:找婚慶公司(對方提供司儀、制定流程、提供裝置、幫助執行)

公式:程式 = 物件 + 互動

優點(1) 思想層面:

– 更接近於人的思維方式。

– 有利於梳理歸納、分析解決問題。

(2) 技術層面:

– 高復用:對重複的**進行封裝,提高開發效率。

– 高擴充套件:增加新的功能,不修改以前的**。

– 高維護:**可讀性好,邏輯清晰,結構規整。

類:乙個抽象的概念,即生活中的」類別」。比如汽車,這樣的類的概念,這是抽象的,看不見的

物件:類的具體例項(類別的具體例項),即歸屬於某個類別的」個體」。

類是建立物件的」模板」.(物件是從類裡面建立出來的)

– 資料成員:名詞型別的狀態。

– 方法成員:動詞型別的行為。

類與類不同在於行為上的不同

例如:汽車(啟動、行駛、停止) 狗(叫、吃飯、搖尾巴)

只要寫類 ,類和類之間的方法(行為)一定不一樣!

物件與物件資料不同

例如:紅旗 與寶馬x5,具有的行為一樣(啟動、行駛、停止),但是擁有的資料不一樣(比如品牌、排量)

行為不一樣區分類,資料不一樣區分物件!同乙個類裡面的不同物件公用的是同樣的方法。

舉例:學生student是乙個類,具有姓名,年齡等資料;具有學習study,工作work等行為。

學生物件:悟空同學,28歲。 八戒同學,29歲。

**class 類名:

」」」文件說明」」」

definit(self,引數列表):

self.例項變數 = 引數

(資料成員)

方法成員

eg : def study(self,name):

self.name=name

def study(self):

pass

說明– 類名所有單詞首字母大寫.

– init 也叫建構函式,建立物件時被呼叫,也可以省略。

– self 變數繫結的是被建立的物件本身。

例項就是指物件

建立物件:變數 = 建構函式 (引數列表)

語法(1) 定義:物件.變數名

(2) 呼叫:物件.變數名

說明(1) 首次通過物件賦值為建立,再次賦值為修改.

w01 = wife()

w01.name = 「麗麗」

w01.name = 「莉莉」

(2) 通常在建構函式(init)中建立。 專案中用這種

w01 = wife(「麗麗」,24)

print(w01.name)

(3) 每個物件儲存乙份(每個物件都有自己的資料),通過物件位址訪問。

作用:描述所有物件的共有資料。

dict:物件的屬性,用於儲存自身例項變數的字典。

w01 = wife(「麗麗」,24)

print(w01.dict)---->

語法(1) 定義:

def 方法名稱(self, 引數列表):

方法體(2) 呼叫: 物件位址.例項方法名(引數列表)(物件名.方法())

不建議通過類名訪問例項方法(類名.方法(物件名))

說明(1) 至少有乙個形參,第乙個引數繫結呼叫這個方法的物件,一般命名為"self"。

(2) 無論建立多少物件,方法只有乙份,並且被所有物件共享。

作用:表示物件行為。

語法(1) 定義:在類中,方法外定義變數。

class 類名:

變數名 = 表示式

(2) 呼叫:類名.變數名

不建議通過物件訪問類變數

說明– 儲存在類中。記憶體中存在於方法區

– 只有乙份,被所有物件共享。

作用:描述所有物件的共有資料。

語法(1) 定義:

@classmethod

def 方法名稱(cls,引數列表):

方法體(2) 呼叫:類名.方法名(引數列表)

不建議通過物件訪問類方法

說明– 至少有乙個形參,第乙個形參用於繫結類,一般命名為』cls』

– 使用@classmethod修飾的目的是呼叫類方法時可以隱式傳遞類。(隱式:自動的意思。使用@classmethod是為了呼叫類方法時不傳遞例項進去,否則呼叫類方法會傳遞某個物件的位址進去)

– 類方法中不能訪問例項成員,例項方法中可以訪問類成員。

作用:操作類變數。

物件導向基礎

什麼是物件導向程式設計?就是把萬事萬物都抽象成為物件,一切都是物件!什麼是抽象?抽象是從眾多的事物中抽取出共同的 本質性的特徵,而捨棄其非本質的特徵。例如蘋果 香蕉 生梨 桃子等,它們共同的特性就是水果。得出水果概念的過程,就是乙個抽象的過程。要抽象,就必須進行比較,沒有比較就無法找到在本質上共同的...

物件導向基礎

我想在這個園子裡面的新人,還是 掌門人 都對 物件導向 這幾字非常的耳熟了或者有一定的了解。但當乙個初學都在學習物件導向的時候,會遇到一些瓶頸和麻煩,認為物件導向非常的難以理解。那麼本章節主要是讓大家了解物件導向,並系統地掌握物件導向程式設計的技能點,消除初學者的疑惑.1 如何去學習物件導向的程式設...

物件導向基礎

uml是一種標準的圖形化建模語言,是物件導向分析與設計的一種標準表示 類圖是用來描述類以及類與類之間關係的一種uml圖 類圖描述的關係包括關聯,範化,依賴,實現等 只要類與類之間存在關聯關係就可以用普通關聯來表示 比如 描述人和計算之間的關係 帶 的一端表示關聯的發起方,箭頭表示關聯的方向 0.1 ...