python3xiaobaike_2020/chapter7/7-8 python3小白课:类的多态性.md
2025-04-20 23:22:14 +08:00

1.8 KiB
Raw Blame History

python3小白课类的多态性

多态性是面向对象的三大特征之一,多态性常常是基于继承性得来的,它的概念是,当同一个变量在调用同一个方法的时候,可能会呈现出不同的行为,具体呈现的行为由这个调用的变量所代表的对象来决定,这就是类的多态。

咱们用通俗的例子来讲咱们有龟和兔两种动物我们就当做两类吧。这时候龟类和兔类都有赛跑这样的行为我们可以分别把龟类和兔类赋值给同一个变量比如a分别调用a的赛跑这个方法他们的呈现行为是不同的龟类是四个小爪子慢慢的爬过去的兔类呢是四个小短腿一跳一跳跑过去的这就是所谓的多态Polymorphism

那么多态性有啥用呢?

我们来看一个小小的例子来理解一下:

# coding:utf-8
class Run:
    def run_machine(self, product):
        print("--开始运行--")
        product.run()
class 烧水壶:
    def run(self):
        print("烧水咯")
class 烧茶壶:
    def run(self):
        print("烧茶咯")

a = Run()
a.run_machine(烧水壶())
a.run_machine(烧茶壶())

可以看出多态是一种非常灵活的编程机制这时候a这个对象可以不变只需要变传入的参数对象如烧水壶、烧茶壶即可参数对象都有run方法所以在执行run_machine()方法的时候可以呈现不同的行为表现,这大大提高了run_machine()方法的灵活性。

Tip

前面的课程中我们讲过python3的变量支持中文这里也试验了一把。

单词释义

单词 释义
Polymorphism 多态性
run 运行,跑
machine 机器
product 产品