• Python入门学习15(面向对象)


    一、多态

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

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

    1. class Animal:
    2. def speak(self):
    3. pass
    4. class Dog(Animal):
    5. def speak(self):
    6. print("汪汪汪")
    7. class Cat(Animal):
    8. def speak(self):
    9. print("喵喵喵")
    10. def make_noise(animal: Animal):
    11. """制造点噪音,需要传入Animal对象"""
    12. animal.speak()

            多态常作用在继承关系上,比如函数(方法)形参声明接收父类对象,实际传入父类的子类对象进行工作,即以父类做定义声明、以子类做实际工作,用以获得同一行为, 不同状态。

    二、继承(接口)

     什么是抽象类(接口)?

            包含抽象方法的类,称之为抽象类。抽象方法是指:没有具体实现的方法(pass)称之为抽象方法

    抽象类的作用?

            多用于做顶层设计(设计标准),以便子类做具体实现。

            也是对子类的一种软性约束,要求子类必须复写(实现)父类的一些方法

            并配合多态使用,获得不同的工作状态。

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

    1. class AC:
    2. def cool_wind(self):
    3. """制冷"""
    4. pass
    5. def hot_wind(self):
    6. """制热"""
    7. pass
    8. def swing_l_r(self):
    9. """左右摆风"""
    10. pass
    11. class Midea_AC(AC):
    12. def cool_wind(self):
    13. print("美的空调核心制冷科技")
    14. def hot_wind(self):
    15. print("美的空调电热丝加热")
    16. def swing_l_r(self):
    17. print("美的空调无风感左右摆风")
    18. class GREE_AC(AC):
    19. def cool_wind(self):
    20. print("格力空调变频省电制冷")
    21. def hot_wind(self):
    22. print("格力空调电热丝加热")
    23. def swing_l_r(self):
    24. print("格力空调静音左右摆风")

  • 相关阅读:
    Python自动化处理Excel数据
    @Transactional注解在类上还是接口上使用,哪种方式更好?
    设计模式 22 访问者模式 Visitor Pattern
    SPL-介绍(一)
    【开题报告】基于django+vue新闻发布系统(论文+程序)
    C语言描述数据结构 —— 二叉树(3)普通二叉树
    Real-Time Rendering——7.8 Volumetric Shadow Techniques体积阴影技术
    Python 数据分析函数汇总
    共用一个一维空间的双向栈
    数据采集之:巧用布隆过滤器提取数据摘要
  • 原文地址:https://blog.csdn.net/weixin_51293134/article/details/132790890