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

2021-08-18 20:39:17 字數 1285 閱讀 6356

1、什麼是多型:

它是指同一種事物的多種形態,在程式中用繼承可以表現出多型。

但在python中推崇鴨子型別。它不但解藕合,且能建立標準。

2、為什麼要用多型:

用基類建立一套統一的規則,強制子類去遵行(用抽象類去實現)這樣可以不用考慮具體型別的前提下而直接使用物件下的方法。

3、如何使用:

來看下面的一段**。

class animal:

def run(self):

pass

def bark(self):

pass

class cat(animal):

def jiao(self):

print('喵喵喵')

class dog(animal):

def speak(self):

print('汪汪汪')

class pig(animal):

def han(self):

print('哼哼哼')

c=cat()

d=dog()

p=pig()

#呼叫不同具體動物叫的時候就用不同實現方法。

c.jiao()

d.speak()

p.han()

如上**在呼叫不同具體動物叫的時候就用不同的呼叫方法。這樣子不態好,很亂,沒有規範。我們就要用多型來給它弄個規,凡是動物叫,就都用bark()來呼叫。這樣就很清楚明了。

import abc

class animal(metaclass=abc.abcmeta):

@abc.abstractclassmethod

def bark(self):

pass

@abc.abstractclassmethod

def drink(self):

pass

class cat(animal):

def drink(self):

print('cat is dering')

def bark(self):

print('cat is barking')

class dog(animal):

def drink(self):

print('dog is dering')

def bark(self):

print('dog is barking')

c=cat()

d=dog()

c.bark()

d.bark()

python物件導向三大特性之封裝

封裝 類裡面不光有屬性還有方法。這種將屬性通過方法直接在類內部操作的形式就叫做封裝。把很多資料封裝到 個物件中,把固定功能的 封裝到 個 塊,函式,物件,打包成模組.這都屬於封裝的思想.封裝操作可以對受保護的成員進行功能開放的控制,達到保護資料不被非法訪問的目的。當然,方法也可以私有封裝,但是一般都...

python物件導向三大特性之封裝

封裝是物件導向三大特性最核心的乙個特性 封裝 整合 1 如何隱藏 在屬性名前加 字首,就會實現乙個對外隱藏屬性效果 該隱藏需要注意的問題 i 在類外部無法直接訪問雙下滑線開頭的屬性,但知道了類名和屬性名就可以拼出名字 類名 屬性,然後就可以訪問了,如foo.a n,所以說這種操作並沒有嚴格意義上地限...

Python物件導向三大特性之封裝

面向函式的程式設計和物件導向程式設計對比 通過函式和物件的方法實現同樣的功能,看起來是面向函式的程式設計比較簡單 假如是連線資料庫的增,刪,改,查操作使用物件導向的方法 更加簡單 vim day7 3.py usr bin python coding utf 8 def fetch 連線資料庫,ho...