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

一、多态

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

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

class Animal:
    def speak(self):
        pass


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


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


def make_noise(animal: Animal):
    """制造点噪音,需要传入Animal对象"""
    animal.speak()

Python入门学习15(面向对象)_第1张图片

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

二、继承(接口)

 什么是抽象类(接口)?

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

抽象类的作用?

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

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

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

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

Python入门学习15(面向对象)_第2张图片

class AC:
    def cool_wind(self):
        """制冷"""
        pass
    def hot_wind(self):
        """制热"""
        pass
    def swing_l_r(self):
        """左右摆风"""
        pass
    
class Midea_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("格力空调静音左右摆风")

Python入门学习15(面向对象)_第3张图片

你可能感兴趣的:(Python学习,前端技术,学习,python,ide)