物件導向程式設計

2021-08-19 19:37:23 字數 2022 閱讀 7379

物件導向程式設計

類 class 和 物件 object

什麼是物件:

物件是指現實中的物體或例項

什麼是物件導向:

把一切看成物件(例項),物件和物件之間用方法(行為)建立關聯關係

什麼是類:

擁有相同屬性和行為的物件分為一組,即為乙個類

類是用來描述物件的工具

物件導向示意:

車(類)  ----->> byd e6(京a.88888) 物件(例項) \

\--->> bmw x5(京b.00000) 物件(例項)

狗(類)  ----->> 小京巴(戶籍號: 00001) \

\--->> 導盲犬(戶籍號:00002)

int(類)  --->> 100(物件) \

\-->> 200(物件,例項)

類的建立語法:

class 類名(繼承列表):

"""類文件字串"""

例項方法(類內的函式methd) 的定義

類變數(class variable) 定義

類方法(@classmethod)定義

靜態方法(@staticmethod)定義

類的作用:

可以用類建立乙個或多個此類的物件(例項)

類內的變數和方法能被此類所建立的所有例項所共同擁有

說明:類名必須是識別符號(與變數名命名規則相同,建議首字母大寫)

類名實質上就是變數,它繫結乙個類例項

類的定義最後面要加兩個空格以告訴解釋執行器,類的定義已經結束

示例:class dog:

pass 術語

類         物件      例項

class     object    instance

建構函式:

建構函式的呼叫表示式 

類名([建立傳參列表])

裡的內容代表可省略

作用:建立這個類的例項物件,並返回此例項物件的引用關係

示例:class dog:  # 定義乙個類

pass

dog1 = dog()     # 用類來建立乙個物件用dog1繫結

print(id(dog1))  # 列印dog1所在的記憶體位址

dog2 = dog()  #  建立第二個物件 用dog2繫結

print(id(dog2))

print(dog1 is dog2)  # 判斷兩隻狗是不是同一條狗

例項說明:

例項有自己的作用域或名字空間,可以為該例項新增例項變數(也叫屬性)

例項可以呼叫類的方法

例項可以訪問類中的類變數

例項變數(屬性 attribute)

每個例項可以有自己的變數,稱為例項變數(屬性)

屬性的使用語法:

例項.屬性名

屬性的賦值規則:

(同變數規則相同)

1. 首次為屬性賦值則建立此屬性

2. 再次為屬性賦值則改變屬性的繫結關係

語法:class 類名(繼承列表):

def 例項方法名(self, 引數1, 引數2, ....):

語句塊

作用:用於描述乙個物件的行為,讓此型別的全部物件都擁有相同的行為

說明例項方法的實質是函式,是定義在類內的函式

例項方法的第乙個引數代表呼叫這個方法的例項,一般命名為'self'

例項方法的呼叫語法:

例項.例項方法名(呼叫引數)

或類名.例項方法名(例項, 呼叫引數)

初始化方法

作用:對新建立的物件新增屬性等必須的資源

語法形式:

class 類名:

def __init__(self[,引數列表]):

語句塊代表其中內容可省略

說明:初始化方法名必須為__init__不可改變

初始化方法會在建構函式建立例項後自動呼叫,且將例項自身通過第乙個引數self傳入__init__方法

建構函式的實參將通過__init__方法的引數列表傳到__init__方法中

初始化方法內如果需要return語句返回,則必須返回none

c 物件導向程式設計 物件導向

什麼是物件導向 是對現實世界理解和抽象的方法。物件導向程式設計的特點 易維護,易擴充套件,靈活性好,重用 類 對事物的抽象定義,即事物具有的共同特徵和行為。物件 即對類進行例項 類是抽象的,物件是具體的 類的定義 語法 訪問修飾符 class 類名類的成員 包括字段,屬性,方法,常量,事件和索引器等...

物件導向程式設計

物件導向程式設計 抽象 封裝 繼承 多型 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因。開放封閉原則 軟體實體應該可以擴充套件,但是不可修改。所有的設計模式都是對不同的可變性進行封裝,從而使系統在不同的角度上達到開發封閉原則。依賴倒轉原則 a 高層不應該依賴低層,兩個都應該依賴抽象。b ...

物件導向程式設計

class team def init self self.name tampa bay buccaneers bucs team print bucs.name tampa bay buccaneers 當呼叫team 函式時,會自動呼叫init函式,self是自動傳入到init中的引數,它指向當...