Python物件導向下

2021-10-24 23:14:05 字數 1870 閱讀 6795

class animal(object):

def __init__(self, name, age):

self.name = name

self.age = age

print('動物')

def sleep(self):

print('動物會睡覺')

def run(self):

print('動物會跑')

class dog(animal):

def __init__(self, name, age):

self.name = name

self.age = age

super().__init__(self.name, self.age)

print('狗')

def sleep(self):

print('狗會睡覺')

# animal.sleep(self)

# super(dog, self).sleep() python2的寫法

super().sleep()

def run(self):

print('狗會跑')

def speak(self):

print('汪汪汪')

dog = dog('狗', 18)

class a(object):

def test(self):

print('a。。。。')

class b(object):

# def test(self):

# print('b。。。。')

pass

class c(b, a):

pass

class duck(object):

def fly(self):

print('鴨子沿著地面飛起來了')

class swan(object):

def fly(self):

print('天鵝在空中翱翔')

class plane(object):

def fly(self):

print('飛機在雲層飛翔')

def fly(obj):

obj.fly()

duck = duck()

swan = swan()

plane = plane()

fly(duck)

fly(swan)

fly(plane)

方法

__new__()方法用於建立與返回乙個物件,然後這個返回的物件會呼叫 __init__()進行初始化。

通過__new__() 方法建立物件物件返回,傳給__init__()

單例模式是一種常見的軟體設計模式。也就是說,該類只包含乙個例項。

通過單例模式,可以保證系統中乙個類只有乙個例項而且該例項已於外界訪問,從而方便對例項個數的控制並節約系統資源。如果希望在系統中某個類的物件只能存在乙個,單例模式是最好的解決方案。

通常應用在一些資源管理器中, 比如日誌記錄等。

class single(object):

__isinstance__ = none

def __new__(cls, *args, **kwargs):

if cls.__isinstance__ is none:

cls.__isinstance__ = super().__new__()

return cls.__isinstance__

else:

return cls.__isinstance__

物件導向(下)

一 在類中,宣告為static的成員變數為靜態成員變數,它為該類的公用變數,對所有物件來說,它在記憶體只有乙份 在static的靜態方法中不會將物件引用傳遞給他,因此,靜態方法不能訪問非靜態成員 可以通過物件引用和類名來訪問靜態成員變數。二 構造 塊和靜態 塊 1 構造 塊 構造 塊中定義的是給不同...

物件導向 下

類的繼承 子類會繼承父類的所有屬性和方法 package duixiang1 繼承 public class example01 class animal class dogextends animal 重寫父類方法 子發方法和父類的一樣即重寫 package duixiang1 重寫 public...

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

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