目录
9.3 继承
9.3.1 子类的__init__方法
9.3.2 重写父类的方法
9.4 导入类
9.4.1 导入一个类
9.4.2 导入所有类
如果要编写的类是一个类的特殊版本(有共同信息),可使用继承。当一个类继承另一个类是,前者拥有后者的所有属性和方法。前者称为子类,后者称为父类(超类)
假如我现在需要一个类来输出狗狗Bob的衣服颜色、款式等等,重新定义一个类吗?不用,用继承即可。
子类继承父类,父类必须于子类在同一文件中。子类中的__init__方法中只需要用super()函数即可调用父类。(具体如代码所示)
# class Dog:... # 隐藏上部分,省的太多在这里不好查看
class Clothe(Dog):
def __init__(self, name, age):
super().__init__(name, age)
def describe_clothe(self):
print(f"The dog's name is {self.name}, the dog's age is {self.age}")
print(f"The dog clothe is {self.clothe_color}")
想要在子类张修改父类的方法,只要在子类中用父类中名字相同的方法即可。例:之前狗狗的体重是20kg,然后它胖了,变成25kg.
class Clothe(Dog):
def __init__(self, name, age):
super().__init__(name, age)
def describe_clothe(self):
print(f"The dog's name is {self.name}, the dog's age is {self.age}")
print(f"The dog clothe is {self.clothe_color}")
def size_weight(self): # 修改部分
self.size = "25kg"
print(f"my dog size is {self.size}")
导入类与导入函数相似。
from 类所在文件名 import 类名。例如:在dog.py文件中有类Dog,Clothes,我想在my_dog.py中导入Dog类。即:from dog import Dog。
from 文件名 import *
本人新手,若有错误,欢迎指正;若有疑问,欢迎讨论。若文章对你有用,点个小赞鼓励一下,谢谢,一起加油吧!