是的,Python支持多态。
多态性一词意味着具有多种形式。
多态性是Python中类定义的一项重要功能,当您在类或子类之间具有通用命名方法时,可以使用该功能。
多态可以通过继承来实现,子类可以使用基类方法或对其进行重写。
有两种类型的多态性
超载
覆写
重载:当一个类中的两个或多个方法具有相同的方法名称但参数不同时,就会发生重载。
覆盖:覆盖是指具有相同方法名称和参数的两个方法(即方法签名)。一种方法在父类中,另一种在子类中。
class Fish(): def swim(self): print("鱼在游泳。") def swim_backwards(self): print("The Fish can swim backwards, but can sink backwards.") def skeleton(self): print("The fish's skeleton is made of cartilage.") class Clownfish(): def swim(self): print("小丑鱼在游泳。") def swim_backwards(self): print("小丑鱼会向后游。") def skeleton(self): print("The clownfish's skeleton is made of bone.") a = Fish()a.skeleton() b = Clownfish()b.skeleton()
当我们使用python polymorphism.py命令运行程序时,我们将获得预期的输出-
输出结果
The fish's skeleton is made of cartilage. The clownfish's skeleton is made of bone.