python中的多态和抽象类接口

目录

一.多态

抽象类(接口)

 小结


 

一.多态

多态,指的是:多种状态,即完成某个行为时,使用不同的对象会得到不同的状态。

 同样的行为(函数),传入不同的对象得到不同的状态

演示

class Animal():
    def clock(self):
        pass
class Dog(Animal):
    def clock(self):
        print("汪汪汪")

class Cat(Animal):
    def clock(self):
        print("喵喵喵")

def hall(animal:Animal):
    animal.clock()

dog=Dog()
cat=Cat()
hall(dog)
hall(cat)

结果是

 多态也多会用在抽象类的场景上

抽象类(接口)

细心的同学可能发现了,父类Animal的speak方法,是空实现

 这种设计的含义是:

  • 父类用来确定有哪些方法
  • 具体的方法实现,由子类自行决定

这种写法,就叫做抽象类(也可以称之为接口)
抽象类:含有抽象方法的类称之为抽象类
抽象方法:方法体是空实现的( pass)称之为抽象方法

为什么要使用抽象类呢?

抽象类就像一个标准,提出标准之后,就由后面的继承类去具体实现

 抽象类就好比定义一个标准,
包含了一些抽象的方法,要求子类必须实现。

演示

class AC:
    def cool_wind(self):
        pass
    def hot_wind(self):
        pass
    def swing_l_r(self):
        pass
class Mide_AC(AC):
    def cool_wind(self):
        print("美的制冷")
    def hot_wind(self):
        print("美的制热")
    def swing_l_r(self):
        print("美的左右摆风")

class Gree_AC(AC):
    def cool_wind(self):
        print("格力制冷")
    def hot_wind(self):
        print("格力制热")
    def swing_l_r(self):
        print("格力左右摆风")

def cool(a:AC):
    a.cool_wind()
    a.hot_wind()
mide=Mide_AC()
gree=Gree_AC()
cool(mide)
cool(gree)

结果是

 小结

1.什么是多态?
多态指的是,同一个行为,使用不同的对象获得不同的状态。
如,定义函数(方法),通过类型注解声明需要父类对象,实际传入子类对象进行工作,从而获得不同的工作状态
2.什么是抽象类(接口)
包含抽象方法的类,称之为抽象类。抽象方法是指:没有具体实现的方法( pass)称之为抽象方法
3.抽象类的作用
多用于做顶层设计(设计标准),以便子类做具体实现。
也是对子类的一种软性约束,要求子类必须复写(实现)父类的一些方法
并配合多态使用,获得不同的工作状态。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳862

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值