温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python继承指的是什么

发布时间:2020-11-09 10:59:58 来源:亿速云 阅读:229 作者:小新 栏目:编程语言

这篇文章主要介绍了python继承指的是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

继承的语法

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继承指的是什么

感谢你能够认真阅读完这篇文章,希望小编分享python继承指的是什么内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI