• 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("格力空调静音左右摆风")

  • 相关阅读:
    mysql报错:Column Count Doesn‘t Match Value Count at Row 1
    java数据结构与算法刷题-----LeetCode28:实现 strStr()
    Flutter——路由和导航
    题目新颖,内容全面!阿里巴巴又一 Java 面试神册开源!
    Redis-基本介绍/linux下环境配置/配置文件
    redis事务
    PostgreSQL 建立一张表到底会产生多少文件
    学习 PostCSS 以及使用
    练[watevrCTF-2019]Cookie Store
    干货丨浅谈足式机器人的运动控制
  • 原文地址:https://blog.csdn.net/weixin_51293134/article/details/132790890