python继承指的是什么
创始人
2024-11-18 16:41:35
0次

继承的语法

Python子类继承父类的语法是在定义子类时,将多个父类放在子类之后的圆括号里。语法格式如下:

class 子类名称(父类1,父类2,...):
# 类的定义部分

如果在Python中定义一个类时未指定这个类的直接父类,则这个类默认继承object类。因此,object类是所有类的父类,要么是其直接父类,要么是其间接父类。

实现继承的类被称为子类,被继承的类被称为父类,也被称为基类、超类。父类和子类的关系,是一般和特殊的关系,是抽象和具体的关系。从子类角度来看,子类扩展了父类的功能。从父类角度来看,父类派生出了子类。

class People:
    # 定义类的基本属性
    name = ''
    age = ''
    # 定义类的私有属性
    __weight = 0
 
    # 定义类的构造方法
    def __init__(self, name, age, weight):
        self.name = name
        self.age = age
        self.__weight = weight
    # 定义成员方法
    def say(self):
        print(f'{self.name}说我今年{self.age}岁了')
 
    def walk(self):
        print(f'{self.name}会走路了')
 
# 定义学生继承自People类
class Student(People):
    # 定义学生类特有属性grade代表年级
    grade = ''
    # 定义学生类的构造方法
    def __init__(self, name, age, weight, grade):
        # 调用父类构造方法
        People.__init__(self,name, age, weight)
        self.grade = grade
 
    # 覆写父类的方法
    def say(self):
        print(f'{self.name}说我今年{self.age}岁了,我在读{self.grade}年级')
 
    # 定义成员方法
    def study(self):
        print(f'{self.name}说:好好学习,天天向上!')
 
# 实例化学生类
s1 = Student('关羽',35, 80,'三年级')
# 调用say()方法
s1.say() # 因为重写了父类方法,所以调用的是子类的say()方法
# 调用walk()方法,因为学生没有walk()方法,但是学生继承了People, 所以会调用父类的walk()方法
s1.walk()
# 调用study()方法,因为父类没有study, 子类定义了独有的study方法,会直接调用
s1.study()

python继承指的是什么

多继承

当一个子类有多个直接父类时,该子类会继承得到所有父类的公有的方法。但是,如果直接继承的多个父类中有相同的方法时,Python会按照继承的父类的前后顺序,前面类中的方法会“屏蔽”后面父类中的同名方法。所以,对于子类和直接继承的父类的同名方法查找有顺序是:

子类 -> 直接子类(类1,类2,类3,...类n) 从左到右搜索,找到了就屏蔽后面的同名方法。

class Human:
    def __init__(self, name, age, gender, skin):
        self.name = name
        self.age = age
        self.gender = gender
        self.skin = skin
 
    def walk(self):
        print(f'{self.name}正在走路')
 
    def work(self):
        print(f'{self.name}工作了')
class Man(Human):
    def __init__(self, name, age, gender, skin, hair, mouth):
        Human.__init__(self, name, age, gender,skin)
        self.hair = hair
        self.mouth = mouth
 
    def work(self):
        print(f'我是男人,我要养家糊口')
 
    def game(self):
        print(f'我喜欢打游戏')
 
class Woman(Human):
    def __init__(self, name, age, gender, skin, hair, mouth):
        Human.__init__(self, name, age, gender, skin)
        self.hair = hair
        self.mouth = mouth
 
    def work(self):
        print(f'我是女人,我也要工作')
 
    def cook(self):
        print(f'我会做饭')
 
 
class Son(Man, Woman):
    def __init__(self, name, age, gender, skin, hair, mouth, grade):
        Man.__init__(self, name, age, gender,skin,hair,mouth)
        self.grade = grade
 
    def study(self):
        print('好好学习,天天向上')
# 实例化儿子类
s1 = Son('司马光',9,'男','白皮肤','黑头发','大嘴','三年级')
s1.study() # 调用自己独有方法
s1.work() # 父类Man和Woman都有的方法,从左到右找,找到后后面父类中的同名方法会隐藏
s1.game() # 父类Man的独有方法,继承过来
s1.cook() # 父类Woman的独有方法,继承过来
s1.walk() # 子类,直接父类都没有的方法,从父类的父类间接继承,因此继承具有传递性

python继承指的是什么

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...