Python---多态

多态:多种状态,即完成某个行为时,使用不同的对象会得到不同的状态 (以父类做定义声明,以子类做实际工作)

抽象类 (接口):含有抽象方法称为抽象类
抽象方法:方法体是空实现的(pass)称为抽象方法

python 复制代码
# Animal为抽象类
class Animal:
    def speak(self):
        pass


class Dog:
    def speak(self):
        print("汪汪汪")


class Cat:
    def speak(self):
        print("喵喵喵")


def make_noise(animal: Animal):
    animal.speak()


dog = Dog()
cat = Cat()

make_noise(dog)
make_noise(cat)



# AC 为抽象类
class AC:
    def cool_wind(sel):
        pass

    def hot_wind(sel):
        pass

    def swing_l_r(sel):
        pass


class Midea_AC(AC):
    def cool_wind(sel):
        print("美的制冷")

    def hot_wind(sel):
        print("美的制热")

    def swing_l_r(sel):
        print("美的左右摆动")


class GREE_AC(AC):
    def cool_wind(sel):
        print("格力制冷")

    def hot_wind(sel):
        print("格力制热")

    def swing_l_r(sel):
        print("格力左右摆动")


def make_cool(ac: AC):
    ac.cool_wind()


midea_ac = Midea_AC()
gree_ac = GREE_AC()

make_cool(midea_ac)
make_cool(gree_ac)
相关推荐
circuitsosk17 分钟前
Prompt Engineering进阶:面向复杂业务场景的模板化管理与动态注入策略
python·langchain·prompt·跨境电商·rag·上下文管理·动态注入
Livia要学习1 小时前
Python闭包
开发语言·jvm·python
FriendshipT2 小时前
Ultralytics:解读 YOLO26 知识蒸馏
人工智能·pytorch·python·深度学习·yolo
BUG研究员_2 小时前
工具绑定与调用
python·agent
苏灿烤鱼2 小时前
AI Agent 深拆 | 图能让 AI 决策可追责吗?Semantica 登顶拆解
python·github·agent
Sirius.z10 小时前
第R6周:LSTM实现糖尿病探索与预测
python
名字还没想好☜10 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string
·薯条大王10 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
Dxy123931021611 小时前
Python 如何使用 MySQL 的事务
python·mysql
今儿敲了吗15 小时前
Python ——第三方包
笔记·python