day24 01 初识继承
2019-05-22 06:34:27来源:博客园 阅读 ()
day24 01 初识继承
面向对象的三大特性:继承,多态,封装
一、继承的概念
继承:是一种创建新类的方式,新建的类可以继承一个或者多个父类,父类又可称基类或超类,新建的类称为派生类或者子类
class A: # 父类,基类,超类 pass class B: # 父类,基类,超类 pass class A_son(A,B): # 子类,派生类 pass class AB_son(A,B): # 子类,派生类 pass
- 一个类可以被多个类继承,先有父类才有子类
- 一个类可以继承多个父类----只在python里面才可以,其他语言不可以
注意:从父类不能知道自己将会被哪个类继承,但是从子类肯定可以知道自己的父类,这是从子类像父类指向单方向线程
二、父类的查看方法
类似于对像可以使用_dict_方法查看属性,子类也可以使用_bases_方法查看它的父类
class A: # 父类,基类,超类 pass class B: # 父类,基类,超类 pass class A_son(A): # 子类,派生类 pass class B_son(A,B): # 子类,派生类 pass class AB_son(A,B): # 子类,派生类 pass print(A_son.__bases__) print(B_son.__bases__) print(AB_son.__bases__) print(A.__bases__) print(B.__bases__)
运行结果:
C:\Users\sku1-1\PycharmProjects\untitled\venv\Scripts\python.exe "C:/Users/sku1-1/PycharmProjects/untitled/day24 01 初识继承.py" (<class '__main__.A'>,) (<class '__main__.A'>, <class '__main__.B'>) (<class '__main__.A'>, <class '__main__.B'>) (<class 'object'>,) (<class 'object'>,) Process finished with exit code 0
从上面的运行结果可以看到,特别的父类A和B的父类都是‘object’,如果没有继承父类,就默认继承‘object’,这也是python3的新式类
三、继承表达的关系:什么是什么的关系
只有是两个类之间才会产生继承的关系,两个类之间存在一些共同的抽象的东西,将这些共同的东西抽象出来就可以成为这两个类的父类
以之前的人狗大战的游戏为例,里面的人物角色与狗的角色,定义它们的类的时候,里面有一些属性是相同的,比如:name,blood,aggr,而且狗和人都是动物,这样就可以抽象出它们的父类---animal,参考以下代码:
class animal: # 父类 def __init__(self,name,blood,aggr): self.name=name self.blood=blood self.aggr=aggr class dog(animal): # 子类 def bite(self,someone): someone.blood-=self.aggr class someone(animal): # 子类 def attack(self,dog): dog.blood -=self.aggr dog1 = dog('溜溜球',200,500) print(dog1.name) person1 = someone('王昭君',300,500) print(person1.name)
运行结果:
溜溜球
王昭君
原文链接:https://www.cnblogs.com/wxm422562/p/10887355.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Python基础总结之初步认识---class类的继承(终)。第十六天 2019-08-13
- PYTHON类的继承 2019-07-24
- 母版和继承的使用以及组件的使用 2019-07-24
- Python-16-继承、封装、多态 2019-07-24
- Redis初识01 (简介、安装、使用) 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash