前言:很早之前看過python,鑑於遺忘太快,以此記之
鴨子模型:
乙個物件只要「看起來像鴨子,走起路來像鴨子」,那它就可以被看做是鴨子
這是動態語言奇妙的地方
看下面的**:
三個類,其中鴨子是動物的子類,similar是乙個具有run方法的類# 動物
class
animal
(object):
def__init__
(self, name)
: self.name = name #成員變數
defrun
(self)
(self.name,
'animal is running !'
)# 鴨子
class
duck
(animal)
:def
run(self)
('duck is running...'
)# 任一具有run方法的類
class
similar()
:def
__init__
(self, name)
: self.name = name #成員變數
defrun
(self)
(self.name,
"相似也能run!"
)
看下測試run()方法
將similar類傳入runtest(),也能執行,這就是鴨子模型def
runtest
(animal)
: animal.run(
)# 有run方法的類都能呼叫
animal = animal(
'動物'
)runtest(animal)
dog = dog(
'狗狗'
)runtest(dog)
duck = duck(
'鴨子'
)runtest(duck)
similar = similar(
'任意'
)runtest(similar)
繼承 多型(鴨子模型) 函式重啟
如果兩個或者兩個以上的類具有相同的屬性和方法,我們可以抽取出來乙個類將共同的部分宣告到被抽取的類中。這個被抽取出來的類我們稱之為父類,超類,基類 其他類我們稱之為子類 派生類 父類與子類之間的關係我們稱之為繼承。注意 當乙個子類沒有繼承其他類的時候,則它預設繼承object類,換句話說,object...
盒子模型 一
任何乙個元素都可以看作是乙個盒子,在css中,box model這一術語是用來設計和布局時使用。css盒模型本質上是乙個盒子,封裝周圍的html元素,它包括 邊距,邊框,填充,和實際內容。請看圖 盒子共包括以下幾個部分 內容區是指元素內容所佔的實際大小,是width和height所圍成的區域 內容區...
css盒子模型 CSS 盒子模型詳解(一)
在網頁布局中,一定離不開盒子模型這個東西。今天就來說一下這個概念。所謂盒子模型 box model 就是把 html 頁面中的元素看作是乙個矩形的盒子,也就是乙個盛裝內容的容器。或者說,每乙個可見的 html 元素都是乙個盒子。每個矩形都由元素的內容 content 內邊距 padding 邊框 b...