前言
一、什么时候用继承
? ? ? ? 如果要编写的类是现有类的一个特殊版本,可以用继承类,一个类继承另一个类时会自动得到另一个类的所有属性和方法,原类称为父类(也叫超类,基类),新的类称为子类(派生类)
? ? ? ? 注意:创建子类时父类必须包含在当前文件,子类必须在形参表(括号内)指定父类名称,如果类没有指定父类则默认父类为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提供了大量能使我们快速便捷地处理数据的函数和方法。
|