再学python3(十一) :python的继承和派生

本文深入讲解面向对象编程的三大核心特性:继承、多态和封装。通过实例演示单继承、多继承的概念及其在Python中的应用,包括如何使用super函数正确调用父类方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'''
面向对象的特征: 继承 多态 封装
'''

# 继承
'''
一个类可被多个类继承
一个类可以继承多个父类  python独有
'''
class A: pass  #父类 基类 超类
class B: pass  #父类 基类 超类
class A_son(A): pass  # 子类 派生类
class AB_son(A,B): pass  # 子类 派生类

# __bases__ 查看继承的谁
# print(A.__bases__)  # (<class 'object'>,)
# print(A_son.__bases__)  # (<class '__main__.A'>,)
# print(AB_son.__bases__)  # (<class '__main__.A'>, <class '__main__.B'>)

# 实现
# class Person:
#     def __init__(self,name, sex, tel):
#         self.name = name
#         self.sex = sex
#         self.tel = tel
#
# class Man(Person): pass
# class Woman(Person): pass
#
# Mrli = Man('li', '男', 123456)
# print(Mrli.name)  # li

# 单继承 和 派生
'''
父类中没有的属性 子类中出现 叫派生属性
父类中没有的方法 子类中出现 叫派生方法
父类和子类都有 调用子类的  想调父类的要指出父类名称调用
'''
'''
super函数  找父类
python新式类中有  python3所有类都是新式类
'''
# class Person:
#     def __init__(self,name, sex, tel):
#         self.name = name
#         self.sex = sex
#         self.tel = tel
#
# class Man(Person):
#     def __init__(self, name, sex, tel, high):
#         #Person.__init__(self, name, sex, tel) #  调用父类变量
#         super().__init__(name, sex, tel)  # 可以用super方法代替上面的方法  可以省略父类名和self
#         self.hight = high      # 派生属性
# class Woman(Person): pass
#
# Mrli = Man('li', '男', 123456,175)
# print(Mrli.hight)  # 175


# 多继承   逐级找函数

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值