qasa 发表于 2026-2-2 09:58:02

类的问题

什么是多态没搞懂

FishC 发表于 2026-2-2 09:58:30

什么是多态?

多态是面向对象编程的核心概念之一,意思是“多种形态”。它允许不同的对象对同一个方法调用做出不同的响应,从而让代码更灵活和通用。

简单来说,多态就像“同一指令,不同结果”。例如,动物都会“叫”,但狗叫是“汪汪”,猫叫是“喵喵”。在编程中,我们可以定义一个通用的动物类,然后让子类(如狗、猫)重写“叫”的方法,实现各自的行为。

下面是一个简单的代码示例:


class Animal:
    def make_sound(self):
      pass

class Dog(Animal):
    def make_sound(self):
      return "汪汪!"

class Cat(Animal):
    def make_sound(self):
      return "喵喵!"

def let_animal_speak(animal):
    print(animal.make_sound())

# 使用多态
dog = Dog()
cat = Cat()

let_animal_speak(dog)# 输出:汪汪!
let_animal_speak(cat)# 输出:喵喵!


这里,let_animal_speak函数可以接受任何Animal类型的对象,并调用其make_sound方法。实际执行时,会根据对象的类型(狗或猫)调用相应的方法。这就是多态:同一个方法名,在不同对象上有不同的实现。

多态的好处:

[*]代码更灵活:可以编写通用函数处理多种对象类型。
[*]易于扩展:添加新子类(如鸟类)时,无需修改现有代码。
[*]提高可维护性:减少重复代码,逻辑更清晰。


如果还有不明白的地方,请随时继续提问!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

不二如是 发表于 2026-2-2 11:01:55

多态 = 同一个“指令/方法”,对不同对象会表现出不同的行为。

你对它们都喊一句:“叫一声!”

狗:汪汪汪
猫:喵喵喵
鸭子:嘎嘎嘎

指令一样:叫一声
结果不一样:每个动物叫法不同

这就是多态。
页: [1]
查看完整版本: 类的问题