天天學Python(一) 鴨子模型

2021-09-30 20:47:38 字數 1207 閱讀 9838

前言:很早之前看過python,鑑於遺忘太快,以此記之

鴨子模型:

乙個物件只要「看起來像鴨子,走起路來像鴨子」,那它就可以被看做是鴨子

這是動態語言奇妙的地方

看下面的**:

# 動物

class

animal

(object):

def__init__

(self, name)

: self.name = name #成員變數

defrun

(self)

:print

(self.name,

'animal is running !'

)# 鴨子

class

duck

(animal)

:def

run(self)

:print

('duck is running...'

)# 任一具有run方法的類

class

similar()

:def

__init__

(self, name)

: self.name = name #成員變數

defrun

(self)

:print

(self.name,

"相似也能run!"

)

三個類,其中鴨子是動物的子類,similar是乙個具有run方法的類

看下測試run()方法

def

runtest

(animal)

: animal.run(

)# 有run方法的類都能呼叫

animal = animal(

'動物'

)runtest(animal)

dog = dog(

'狗狗'

)runtest(dog)

duck = duck(

'鴨子'

)runtest(duck)

similar = similar(

'任意'

)runtest(similar)

將similar類傳入runtest(),也能執行,這就是鴨子模型

繼承 多型(鴨子模型) 函式重啟

如果兩個或者兩個以上的類具有相同的屬性和方法,我們可以抽取出來乙個類將共同的部分宣告到被抽取的類中。這個被抽取出來的類我們稱之為父類,超類,基類 其他類我們稱之為子類 派生類 父類與子類之間的關係我們稱之為繼承。注意 當乙個子類沒有繼承其他類的時候,則它預設繼承object類,換句話說,object...

盒子模型 一

任何乙個元素都可以看作是乙個盒子,在css中,box model這一術語是用來設計和布局時使用。css盒模型本質上是乙個盒子,封裝周圍的html元素,它包括 邊距,邊框,填充,和實際內容。請看圖 盒子共包括以下幾個部分 內容區是指元素內容所佔的實際大小,是width和height所圍成的區域 內容區...

css盒子模型 CSS 盒子模型詳解(一)

在網頁布局中,一定離不開盒子模型這個東西。今天就來說一下這個概念。所謂盒子模型 box model 就是把 html 頁面中的元素看作是乙個矩形的盒子,也就是乙個盛裝內容的容器。或者說,每乙個可見的 html 元素都是乙個盒子。每個矩形都由元素的內容 content 內邊距 padding 邊框 b...