Python支持多态吗?

是的,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.