1. 程式人生 > >多態與多態性

多態與多態性

bstr imp 擴展性 mod people mode sel elf 執行文件

多態

多態指的是一類事物的多種形態
如:動物有多種形態,狗,豬
文件有多種形態,文本文件,可執行文件

多態性:

多態性:指的是可以在不考慮對象的類型的情況下而直接使用對象

import abc
class Animal(metaclass=abc.ABCMeta): #同一類事物:動物
    @abc.abstractmethod
    def talk(self):
        pass

class People(Animal): #動物的形態之一:人
    def talk(self):
        print(‘say hello‘)

class Dog(Animal): #動物的形態之二:狗
    def talk(self):
        print(‘say wangwang‘)

class Pig(Animal): #動物的形態之三:豬
    def talk(self):
        print(‘say aoao‘)

class Cat(Animal):
    def talk(self):
        print(‘say miamiao‘)

#多態性:指的是可以在不考慮對象的類型的情況下而直接使用對象
peo1=People()
dog1=Dog()
pig1=Pig()
cat1=Cat()

使用多態性的好處:
1.增加了程序的靈活性
  以不變應萬變,不論對象千變萬化,使用者都是同一種形式去調用

2.增加了程序額可擴展性
 通過繼承Animal類創建了一個新的類,使用者無需更改自己的代碼,還是用cat(Animal)去調用

多態與多態性