2021-07-24Python的继承


前言

一、什么时候用继承

        如果要编写的类是现有类的一个特殊版本,可以用继承类,一个类继承另一个类时会自动得到另一个类的所有属性和方法,原类称为父类(也叫超类,基类),新的类称为子类(派生类)

        注意:创建子类时父类必须包含在当前文件,子类必须在形参表(括号内)指定父类名称,如果类没有指定父类则默认父类为object类

        继承分单继承和多继承(不止一个父类)

二、子类

1.定义子类时,构造函数必须调用父类的构造函数

格式为

代码如下(示例):

class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def student_information(self):
        print("姓名:" + self.name + "\n" + "年龄:" + str(self.age))


class SonStudent0(Student):
    def __init__(self, name, age, num):
        super().__init__(name, age)
        self.num = num # 给子类新属性

    def student_id1(self):
        print("\n姓名:" + self.name + "\n" + "年龄:" + str(self.age) + "\n" + "学号: " + str(self.num))

    ''' 在子类中,如果想要获得父类的方法时,我们可以通过 super()来做。
        super()代表父类的定义,不是父类对象'''


class SonStudent1(Student):
    def __init__(self, name, age, num):
        super().__init__(name, age)
        self.num = num

    def student_id(self):  # 给子类新属性
        print("学生ID:" + str(self.num))

    def student_information(self):
        print("\n姓名:" + self.name + "\n" + "年龄:" + str(self.age) + "\n" + "学号: " + str(self.num))

    ''' 1. 成员继承:子类继承了父类除构造方法之外的所有成员。
        2. 方法重写:子类可以重新定义父类中的方法,这样就会覆盖父类的方法,也称为“重写"'''


x = Student("aaa", 12)#实类化Student类
x.student_information()#输出父类
y = SonStudent0("bbb", 24, 25)
y.student_id1()#添加子类的属性
z = SonStudent1("ccc", 32, 33)
z.student_information()#重写父类方法

#——————————————————结果——————————————————————————
'''
D:\Pwork\venv\Scripts\python.exe D:/Pwork/a继承.py
姓名:aaa
年龄:12

姓名:bbb
年龄:24
学号: 25

姓名:ccc
年龄:32
学号: 33

进程已结束,退出代码为 0
'''


总结

https://www.runoob.com/w3cnote/python-super-detail-intro.html

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值