物件導向程式設計
類 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中的引數,它指向當...