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)
相关推荐
前端付豪44 分钟前
AI 数学辅导老师项目构想和初始化
前端·后端·python
用户0332126663671 小时前
将 PDF 文档转换为图片【Python 教程】
python
悟空爬虫2 小时前
UV实战教程,我啥要从Anaconda切换到uv来管理包?
python
dev派3 小时前
AI Agent 系统中的常用 Workflow 模式(1)
python·langchain
明月_清风4 小时前
从“能用”到“专业”:构建生产级装饰器与三层逻辑拆解
后端·python
曲幽14 小时前
数据库实战:FastAPI + SQLAlchemy 2.0 + Alembic 从零搭建,踩坑实录
python·fastapi·web·sqlalchemy·db·asyncio·alembic
用户83562907805119 小时前
Python 实现 PowerPoint 形状动画设置
后端·python
ponponon20 小时前
时代的眼泪,nameko 和 eventlet 停止维护后的项目自救,升级和替代之路
python
Flittly20 小时前
【从零手写 ClaudeCode:learn-claude-code 项目实战笔记】(5)Skills (技能加载)
python·agent
敏编程20 小时前
一天一个Python库:pyarrow - 大规模数据处理的利器
python