python物件導向01

2022-08-16 14:15:23 字數 2605 閱讀 8528

如圖的繼承關係,然後驗證經典類與新式類在查詢乙個屬性時的搜尋順序

class b:

# def test(self):

# print("from b")

pass

class c:

# def test(self):

# print("from c")

pass

class d(b,c):

# def test(self):

# print("from d")

pass

class e(b,c):

def test(self):

print("from e")

pass

class f(d,e):

# def test(self):

# print("from f")

pass

f = f()

f.test()

# new class (廣度優先)

''' f==>d==>e==>b==>c '''

# classical class (深度優先)

''' f==>d==>b==>c==>e '''

基於多型的概念來實現linux中一切皆問題的概念:文字檔案,程序,磁碟都是檔案,然後驗證多型性
class file(object):

def __init__(self,contents):

self.contents = contents

def cat(self):

print("contents:%s"%(self.contents))

class process(file):

file_type = 'pid'

def cat(self):

print("file_type : %s" %self.file_type)

#三種方法 呼叫父類物件,1.super附帶當前類名、self代表父類 2.super不附帶任何引數 3.父類.方法(self)

super(process, self).cat()

#super().cat()

# file.cat(self)

class disk(file):

file_type = 'disk'

def cat(self):

print("file_type : %s" %self.file_type)

#三種方法 呼叫父類物件,1.super附帶當前類名、self代表父類 2.super不附帶任何引數 3.父類.方法(self)

super(disk, self).cat()

#super().cat()

# file.cat(self)

def cat_file(obj):

''' 呼叫函式繫結方法 '''

obj.cat()

proc1 = process("some things")

disk1 = disk("disgusting things")

cat_file(proc1)

cat_file(disk1)

定義老師類,把老師的屬性:薪資,隱藏起來,然後針對該屬性開放訪問介面

苑昊老師有多種癖好,把這種癖好隱藏起來,然後對外提供訪問介面

而且以後還會苑昊老師培養很多其他的癖好,對外開放修改介面,可以新增癖好,並且需要保證新增的癖好都是字串型別,否則無法增加成功。

class teacher(object):

__salary = 100

__hobby = ["kiss egon's ass","和egon睡覺"]

def __init__(self,name,age,):

self.name,self.age = name,age

def get_salary(self):

return self.__salary

def get_hobby(self):

for x in self.__hobby:

yield x

def add_hobby(self,new_hobby):

if type(new_hobby) == str:

else:

print("error!")

t = teacher("苑昊", 16)

print(t.get_salary())

print("[",t.name,"]","hobby list\n-----")

for x in t.get_hobby():

print(x)

print("-----")

t.add_hobby("**")

print(t.get_salary())

print("[",t.name,"]","hobby list\n-----")

for x in t.get_hobby():

print(x)

print("-----")

Python 物件導向基礎01

當有乙個問題擺在我面前,傳統思路是我親自上陣,把問題解決。下一次當類似的問題再次出現時,我再上,再解決。如此重複,不知道什麼時候是個頭。寫程式也是這樣,面對類似的問題時,如果每次都是從零開始,工作學習的效率將會十分低下,因為總是在重複相同的工作。物件導向則把我從執行者的角色公升級為了指揮者。我不用再...

物件導向 01

我是lgm hakka,請多多指教。1 面向過程 以函式為基礎,強調的是過程。強調這個方法有什麼功能 如 c語言。2 物件導向 物件導向是基於面向過程的,以物件為基礎,強調的是結果。強調物件呼叫方法能完成怎麼樣的功能 1 物件導向的特點 a 一種更符合人們思考習慣的思想 能懶就懶 b 能把複雜的問題...

物件導向01

1.物件導向和面向過程 面向過程 以我為中心,按照事物的發展流程 小型指令碼程式合適用面向過程 萬事萬物皆為物件 object 大型專案合適物件導向 2.如何編寫物件導向的程式 先建立類.對某些事物進行總結.相當於圖紙 使用類建立物件 class 類名 object def init self,na...