Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python 多态

作者:农村混血兒   发布日期:2025-07-10   浏览:31

# 定义一个基类 Animal
class Animal:
    def speak(self):
        pass

# 定义子类 Dog,继承自 Animal
class Dog(Animal):
    def speak(self):
        return "汪汪"

# 定义子类 Cat,继承自 Animal
class Cat(Animal):
    def speak(self):
        return "喵喵"

# 定义一个函数,接受一个 Animal 类型的对象
def animal_speak(animal):
    print(animal.speak())

# 创建 Dog 和 Cat 对象
dog = Dog()
cat = Cat()

# 调用函数,传入不同类型的对象
animal_speak(dog)  # 输出: 汪汪
animal_speak(cat)  # 输出: 喵喵

解释说明:

  1. 基类 Animal:定义了一个 speak 方法,但没有实现具体的功能。它只是一个接口,用于声明所有子类都应该有 speak 方法。
  2. 子类 DogCat:分别继承自 Animal,并实现了各自的 speak 方法。每个子类的 speak 方法返回不同的字符串,表示该动物的声音。
  3. 函数 animal_speak:接受一个 Animal 类型的对象,并调用其 speak 方法。由于 Python 的动态类型特性,实际传递的可以是任何继承自 Animal 的对象。
  4. 多态性:通过同一个接口(animal_speak),可以调用不同子类的具体实现(Dog.speakCat.speak),这就是多态性的体现。

这样设计的好处是代码更加灵活和可扩展,新增加一种动物时,只需要定义新的子类并实现 speak 方法,而不需要修改现有的代码逻辑。

上一篇:celery python

下一篇:python 格式化

大家都在看

python时间格式

python开发windows应用程序

python ord和chr

python中的yield

python自定义异常

python判断路径是否存在

python list.pop

python的for i in range

npm config set python

python代码简单

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站