物件導向三大特性之一 多型

2021-10-10 10:20:25 字數 1771 閱讀 1872

#  多型 普通版本

# 對於同乙個方法,由於呼叫的物件不同(或者傳入的物件不同),最終實現了不同的結果

# 定義電腦類

class

computer()

: # 在電腦類中定義乙個 sub 的規範的介面 方法

def usb

(self,obj)

: obj.

start()

# 定義滑鼠類

class

mouse()

: def start

(self)

:print

('滑鼠啟動成功。'

)# 定義鍵盤類

class

keybord()

: def start

(self)

:print

('鍵盤啟動成功了。'

)# 定義 u盤 類

class

udisk()

: def start

(self)

:print

('u盤啟動了,趕緊檢查一下我的文件還在不在。'

)# 例項化物件

c =computer

() # 電腦物件

m =mouse

() # 滑鼠物件

k =keybord

() # 鍵盤物件

u =udisk

() # u盤物件

# 把不同的裝置插入到電腦的usb的介面中

c.usb

(m)c.

usb(k)

c.usb

(u)

#  多型  繼承版

'''定義乙個介面規範類,其它類都繼承這個類,並實現(重寫)父類中的方法

由於每個物件實現父類方法的方式或者過程都不相同,最後的結果是不一樣的形態

'''# 定義 usb

class

usb():

''' 當前類的說明:

這個類是乙個介面規範類,需要子類繼承並實現start方法

start方法不做任何具體功能的實現

'''# 在usb類中定義乙個規範的介面方法,但是不實現任何功能,

def start

(self)

: pass

# 定義滑鼠類

class

mouse

(usb):

def start

(self)

:print

('滑鼠啟動成功,可以雙擊單擊嗨起來。。。'

)# 定義鍵盤類

class

keybord

(usb):

def start

(self)

:print

('鍵盤啟動成功了,準備工作啦。'

)# 定義 u盤 類

class

udisk

(usb):

def start

(self)

:print

('u盤啟動了,趕緊檢查一下我的文件還在不在。'

)# 例項化物件

m =mouse

() # 滑鼠物件

k =keybord

() # 鍵盤物件

u =udisk

() # u盤物件

m.start()

k.start()

u.start

()

php物件導向三大特性之一多型

1.抽象類是乙個特殊的方法,介面是特殊的抽象類,多型就是使用抽象類和介面 2.是物件導向設計的重要特性,它展現了動態繫結的功能,也稱為 同名異式 多型的功能可以讓軟體在開發和維護時,達到充分的延伸性。事實上,多型最直接的定義就是讓具有繼承關係的不同類物件,可以以相同名稱的成員函式呼叫,產生不同的反應...

物件導向三大特性之一 多型(C )

目錄 多型的定義及實現 抽象類多型的原理 單繼承和多繼承關係的虛函式表 1 什麼是多型?當不同的物件去完成某個行為時,會產生出不同的結果。多型是 不同繼承關係的類物件去呼叫同一函式時,產生了不同的行為。例如 student類繼承了person類。person物件買票全價,student物件買票半價。...

python物件導向的三大特性之一多型

多型的特性是呼叫不同的子類將會產生不同的行為,而無需明確知道這個子類實際上是什麼 說白了就是,不同的物件呼叫相同的方法,產生不同的行為 例如 s1是字串型別,w1是列表,兩個完全不同的物件,他們都可以呼叫len方法,而得出的結果不同 多型實際上是依附於繼承的兩種含義 改變 和 擴充套件 本身就意味著...