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.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...