当前位置: 首页 > news >正文

python中的继承

目录

一、继承

单继承

多继承

方法的重写


 

一、继承

在Python中,继承是面向对象编程中的重要概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。子类可以继承父类的属性和方法,并且可以添加自己特有的属性和方法。

要创建一个子类并继承父类,可以按照以下方式进行:

class ParentClass:
    def __init__(self, name):
        self.name = name
    
    def display_name(self):
        print("Name:", self.name)

class ChildClass(ParentClass):
    def __init__(self, name, age):
        super().__init__(name)
        self.age = age
    
    def display_age(self):
        print("Age:", self.age)

# 创建一个子类实例
child = ChildClass("Alice", 25)

# 调用继承自父类的方法
child.display_name()

# 调用子类自己的方法
child.display_age()

在上面的例子中,ParentClass是父类,ChildClass是子类。子类ChildClass继承了父类ParentClass的属性和方法,并添加了自己的属性和方法。

要调用父类的方法,可以使用super()函数来访问父类的方法。通过继承,子类可以重用父类的代码,并且可以实现代码的重用和扩展。

单继承

在Python中,类默认是采用单继承的方式。这意味着每个类只能继承自一个父类。如果一个类需要继承多个父类的属性和方法,可以使用多重继承的方法。但是在实际开发中,多重继承可能会导致代码结构变得复杂,增加维护的难度,因此要谨慎使用多重继承。

举例:

 

多继承

在Python中,多继承是一种面向对象编程的特性,允许一个子类继承自多个父类。多继承使得子类可以同时具有多个父类的属性和方法。

以下是一个简单的多继承示例:

class Parent1:
    def method1(self):
        print("Method from Parent1")

class Parent2:
    def method2(self):
        print("Method from Parent2")

# 子类同时继承Parent1和Parent2
class Child(Parent1, Parent2):
    def method3(self):
        print("Method from Child")

# 创建子类实例
child = Child()

# 调用继承自Parent1的方法
child.method1()

# 调用继承自Parent2的方法
child.method2()

# 调用子类自己的方法
child.method3()

在上面的例子中,Child类同时继承自Parent1Parent2两个父类。子类Child可以访问父类Parent1Parent2中定义的方法,也可以定义自己的方法。

 

方法的重写

在 Python 中,方法的重写是指子类重新定义父类中已有的方法。当子类继承自父类并且重新定义了父类中已有的方法时,称为方法的重写。重写方法可以根据子类的需求来修改方法的行为或添加新的功能。

当子类重新定义了父类中已有方法的时候,子类对象调用该方法时会执行子类中的方法而非父类中的方法。这样可以实现对父类方法的定制化,符合不同子类的特定需求。

以下是一个简单的示例,演示如何在 Python 中重写方法:

class Animal:
    def make_sound(self):
        print("Animal makes a sound")

class Dog(Animal):
    def make_sound(self):
        print("Dog barks")

class Cat(Animal):
    def make_sound(self):
        print("Cat meows")

animal = Animal()
dog = Dog()
cat = Cat()

animal.make_sound()  # Output: Animal makes a sound
dog.make_sound()     # Output: Dog barks
cat.make_sound()     # Output: Cat meows

在上面的示例中,DogCat 类分别重写了 Animal 类中的 make_sound 方法,使得每个类对象调用 make_sound 方法时输出对应的声音。

 

相关文章:

  • 基于Python的Manim面向对象(2)
  • HTML应用指南:利用POST请求获取全国小鹏汽车的充电桩位置信息
  • 紧急需求救星:1 小时用 AI 生成电商订单模块
  • -PHP 应用SQL 盲注布尔回显延时判断报错处理增删改查方式
  • 进军场景智能体,云迹机器人又快了一步
  • Unity Shader编程】之FallBack
  • PGP实现简单加密教程
  • Go常见问题与回答
  • NLP高频面试题(二十)——flash attention原理
  • 蓝桥杯备考:真题之飞机降落(暴搜+小贪心)
  • 2025年具有AI招聘管理系统选型及攻略分享
  • 新手SEO优化实战快速入门
  • AG7220替代方案|ASL6328芯片设计|HDMI2.0 Retimer中继器方案
  • 6. 理解中间件与认证中间件
  • 蓝桥杯C++基础算法-多重背包(优化)
  • 6.go语言函数
  • cms注册登录
  • PDF多表格结构识别与跨表语义对齐:基于对抗迁移的鲁棒相似度度量模型
  • 对锁进行封装
  • 通义Qwen实战(2): vllm框架部署实战
  • 可靠的合肥网站建设/网络营销推广的手段
  • 江苏省备案网站/杭州网站推广优化公司
  • jsp做的网站答辩问题/网站建设模板
  • 如何在百度搜到自己的网站/google官方下载安装
  • 现在推广网站最好的方式/谷歌浏览器入口
  • 营销型企业网站项目策划表/个人博客登录首页