1、物件導向
物件導向的程式設計的核心是物件(上帝式思維),要理解物件為何物:物件就是單獨的個體,程式的設計都是在這個個體之內。
優點:解決了程式的擴充套件性。對某乙個物件單獨修改,會立刻反映到整個體系中,如對遊戲中乙個人物引數的特徵和技能修改都很容易。
缺點:可控性差
類:抽象的,我能知道什麼屬性,有什麼技能,但不知道屬性的具體的值
物件,有具體的值,技能和屬性都是根據類的規範
2、類和物件
類:具有相同特徵的一類事物(人、狗、老虎)
物件:具體的某乙個事物(隔壁阿花、樓下旺財)
例項化:類到物件具體例項的過程
1)類名 () 創造出乙個物件,並且創造了乙個self變數
呼叫__init__方法,類名括號裡的引數會在這裡被接收
執行__init__方法
返回self
2)物件能做的事
檢視屬性
呼叫方法
__dict__對於物件的增刪改查都可以通過字典的語法進行
3)類名能做的事
例項化呼叫方法,要自己傳遞self引數
呼叫類中的屬性,也就是呼叫靜態屬性
__dict__呼叫類中的屬性,只能檢視,不能修改
3、具體例項:
class person: #類名 country= '
china'#
創造了乙個只要是這個是這個類就有的屬性,
#類屬性,是靜態屬性
def__init__(self,name,blood,aggr,kind): #
初始化方法,self是乙個必須傳的引數
self.name=name #
self是乙個可以儲存很多屬性的大字典
self.blood=blood
self.aggr=aggr
self.kind=kind
def attack(self,dog): #
方法,一般情況下必須傳self引數,且必須寫在第一
dog.blood -= self.aggr #
個,後面可以傳很多引數,是自由的
(dog.blood)
jin=dog('
金老闆',100,20,'
male
') #
類名例項化物件,jin就是例項化
alex=person('
alex
',100,30,'男'
)print(alex.country) #
類名,可以看類的屬性,不需要例項化就可以看屬性
print(alex.__dict__) #
檢視所有屬性
alex.attack(jin) #
相當於person.attack(alex,jin),呼叫方法 類名.方法名(物件名)
class
dog:
def__init__
(self,name,blood,aggr,kind):
self.name=name
self.blood=blood
self.aggr=aggr
self.kind=kind
defbite(self,person):
person.blood -=self.aggr
print(person.blood)
未完待續……
物件導向2 2
物件導向2 2 一 知識點 1.介面 2.多型 3.內部類 二 介面 1.當乙個抽象類中的方法都是抽象的時候,這時可以將該抽象類用 介面 inte ce來代替。2.介面中的成員修飾符是固定的 只能有這個兩種元素 3.介面的出現將 多繼承 通過另一種形式體現出 來,即 多實現 三 介面的特點 1.介面...
python學習之路22 物件導向
物件導向函式都是定義了一類事物,直到呼叫函式,賦值給物件後才開始執行 類是抽象的,有屬性,有技能,但不知道他們具體的值,需通過傳參才能執行 物件有具體的值 屬性和技能,都是根據類規範的 class dog 類名 一次模擬小狗的簡單嘗試 def init self,name,age 初始化方法,sel...
day22 初始物件導向 類
類 具有相同特徵的一類事物 人 狗 老虎 物件 例項 具體的某乙個事物 隔壁阿花 樓下旺財 class person 類名 country china 創造了乙個只要是這個類就一定有的屬性 類屬性 靜態屬性 def init self,args 初始化方法,self是物件,是乙個必須傳的引數 sel...