python物件導向

2021-10-07 13:05:39 字數 2136 閱讀 8657

(一)封裝:根據職責將屬性和方法封裝到乙個抽象的類中(定義類的準則)

乙個物件的屬性可以是另乙個類建立的物件

1.開發槍類

2.開發士兵類

定義沒有初始值的屬性,在定義屬性時,如果不知道設定什麼初始值,可以設定為none

class gun:

def __init__(self, model):

self.model = model

self.bullet_count = 0

def add_bullet(self, count):

self.bullet_count += count

def shoot(self):

if self.bullet_count <= 0:

print("%s 沒有子彈" % self.model)

return

self.bullet_count -= 1

print("%s突突突 %d" % (self.model, self.bullet_count))

class soldier:

def __init__(self, name):

self.name = name

self.gun = none

def fire(self):

if self.gun == none:

print("%s 還沒有槍" % self.name)

return

self.gun.add_bullet(50)

self.gun.shoot()

pass

ak47 = gun("ak47")

xusanduo = soldier("許三多")

xusanduo.gun = ak47

xusanduo.fire()

身份運算子用於比較兩個物件的記憶體位址是否一致--是否是對同乙個物件的引用

應用場景:

定義方式:

在定義屬性或方法時,在屬性名或方法名前加兩個下劃線,定義的就是私有屬性或方法

self.__age

def __secret(self)

偽私有屬性和私有方法(科普)

(二)繼承:實現**的重用,想用的**不需要重複的編寫。子類擁有父類的所有方法和屬性。(設計類的技巧,子類針對自己特有的需求,編寫特定的**)

專業術語:

繼承的傳遞性:子類擁有父類以及父類的父類中封裝的所有方法和屬性。

方法的重寫:當父類的方法實現不能滿足子需求時,可以對方法進行重寫

多繼承:可以讓子類物件,同時具有多個父類的屬性和方法

class 子類名(父類名1,父類名2,...)

(三)多型:不同的子類物件呼叫相同的父類方法,產生不同的執行結果,增加**的靈活度。

類定義:

舉例:屬性:類屬性(top_score)、例項屬性(player_name)

方法:靜態方法(show_help)、類方法(show_top_score)、例項方法(start_game)

呼叫類中不同的方法:

python物件導向學習 python物件導向學習

物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。物件導向三個概念 1.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...

python物件導向總結 Python物件導向總結

python 物件導向 oop 1 物件導向 是乙個更大封裝,把乙個物件封裝多個方法 2 類 是對一些具有相同特徵或行為的事物的乙個統稱,是抽象的,不能直接使用 特徵被稱為屬性 行為被稱為方法 3 物件 是由類建立出來的乙個具體的存在,可以直接使用 先有類再有物件,類只有乙個,而物件可以有多個 類中...

python登入物件導向 python 物件導向

一 屬性和方法 1.a a 例項屬性 通過例項物件來新增的屬性就是例項屬性 a.count 10 例項方法都是在類中直接定義的 以self為第乙個引數的方法都是例項方法 當通過例項物件呼叫時,會自動傳遞當前物件作為self傳入 當通過類物件呼叫時,不會自動傳遞self a.test 等價於 a.te...