Python 多态的实现

 多态是面向对象语言的一个重要的功能.它能很好的隔离变化.下面演示Python语言中的一个多态

 

class  aa:
    
def   __init__ (self):
        
pass

    
def  get(self):
        d
= 5
        
return  d

class  bb(aa):
    
def   __init__ (self):
        aa.
__init__ (self)
        
    
def  get(self):
        d
= 3
        
return  d
    
class  dd(aa):
    
def   __init__ (self):
        aa.
__init__ (self)
        
    
def  get(self):
        d
= 4
        
return  d


def  getNum(cc):
    
print  cc.get()

first
= aa()
second
= bb()
third
= dd()

getNum(first)
getNum(second)
getNum(third)

 

运行结果

5

3

4

Python中的多态是通过继承和方法重写来实现的。在Python中,可以定义一个基类,然后派生出多个子类,每个子类都可以重写基类的方法,从而实现多态性。 多态的概念是应用于Java和C#这一类强类型语言中,而Python则采用了"鸭子类型"的方式,即只要一个对象具有特定的方法或属性,就可以当作相应类型的对象使用。这使得Python多态实现更加灵活。 举个例子来说,假设有一个动物类Animal,它有一个方法func。然后派生出猫类Cat和狗类Dog,它们分别重写了func方法。此时,我们可以通过调用func方法来实现多态。无论传入的是一个Animal对象、Cat对象还是Dog对象,都可以调用相应的func方法。 在Python中,多态实现并没有严格的类型限制,因为Python中函数的参数并没有类型限制。但是通过继承和方法重写,我们仍然可以实现类似于多态的效果。 请参考下面的示例代码来理解Python多态实现: ```python class Animal: def func(self): print('动物发出了声音') class Cat(Animal): def func(self): print('喵 喵 喵') class Dog(Animal): def func(self): print('汪 汪 汪') def work(animal): animal.func() work(Animal()) # 输出:"动物发出了声音" work(Cat()) # 输出:"喵 喵 喵" work(Dog()) # 输出:"汪 汪 汪" ``` 在上面的示例中,我们定义了一个work函数,它接受一个参数animal。无论传入的是Animal对象、Cat对象还是Dog对象,都可以调用相应的func方法,实现多态的效果。 需要注意的是,Python中的多态并没有严格的类型检查,所以在编写代码时需要注意传入的参数是否具有相应的方法或属性。 希望这个例子可以帮助你理解Python多态实现原理。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值