#继承
class RobotOne: #第一代机器人
def __init__(self,year,name):
self.year=year
self.name=name
def walking_on_ground(self):
print(self.name+'只能在平地上行走,有障碍物就会摔的')
def robot_info(self):
print("{0}年产生的机器人{1},是中国研发的".format(self.year,self.name)) # 为了多继承写的第二代机器人
# class RobotTwo(RobotOne): #第二代机器人,继承了第一代了类
#
# def walking_on_ground(self): #子类里面的函数名和父类函数名重复的时候,就叫重写
# print(self.name+'可以在平地上行走')
#
# def walking_avoid_block(self): #父类没有,子类有,叫拓展
# #想在子类的函数里面调用父类的一个函数
# self.robot_info()
# print(self.name+"可以避开障碍物") # class RobotTwo: #第二代机器人,
# def __init__(self,year,name):
# self.year=year
#
# def walking_on_ground(self): #子类里面的函数名和父类函数名重复的时候,就叫重写
# print(self.name+'可以在平地上行走')
#
# def walking_avoid_block(self): #父类没有,子类有,叫拓展
# #想在子类的函数里面调用父类的一个函数
# self.robot_info()
# print(self.name+"可以避开障碍物") #为了超继承写的第二代机器人
class RobotTwo(RobotOne): #第二代机器人, def walking_on_ground(self): #子类里面的函数名和父类函数名重复的时候,就叫重写
super(RobotTwo,self).walking_on_ground() #超继承,会继承父类的该方法
print(self.name+'可以在平地上行走') r= RobotTwo("","小王")
r.robot_info()
r.walking_on_ground()
#r.walking_avoid_block()
#继承的类 是否要用到初始化函数 请看是否从父类继承了。
#父类有的,继承后,可以直接拿过来用
#父类有的,子类也有重名的函数,那么子类的实例就优先调用子类的函数 #面试的时候的继承:多继承和超继承 #第三代机器人,多继承
# class RobotThree(RobotOne,RobotTwo): #第三代机器人,继承了第一代和第二代的了类
# def jump(self):
# print(self.name+"单膝跳跃")
#
# r3=RobotThree("","大王")
# r3.jump()
# r3.walking_on_ground() #会摔倒,RobotOne在前,RobotTwo在后
#
# r3=RobotThree("大王")
# r3.walking_on_ground() #不会摔倒,RobotTwo在前,RobotOne在后 #具有两个父类的属性和方法,如果两个父类具有同名方法的时候,就近原则。
#多继承的时候,继承的类的初始化值不一致问题???
#子类调用函数就近原则,初始化函数也包括在内。 #超继承
#改写父类的方法,同时还要使用父类的方法,使用超继承。
#super关键字会顺着子类的名字去找到父类的方法,调用父类里面的重名方法

python学习笔记(25)-继承的更多相关文章

  1. python学习笔记25(文件管理 os包)

    os包我们经常会与文件和目录打交道,对于这些操作python提供了一个os模块,里面包含了很多操作文件和目录的函数.如果你对linux基本操作了解的话,下面的一些os方法应该会很熟悉的,因为基本和li ...

  2. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  3. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  4. Python学习笔记(六)

    Python学习笔记(六) Ubuntu重置root密码 Ubuntu 16.4 目录结构 Ubuntu 命令讲解 1. Ubuntu重置root密码 启动系统,显示GRUB选择菜单(如果默认系统启动 ...

  5. 【python学习笔记】7.更加抽象

    [python学习笔记]7.更加抽象 类的定义就是执行代码块 在内存保存一个原始实例,可以通过类名来访问 类的实例化,是创建一个原始实例的副本, 并且所有成员变量与原始实例绑定 通过修改实例变量,可以 ...

  6. python学习笔记5_异常

    python学习笔记5_异常 1.什么事异常 Python使用异常对象(exception object) 来表示异常情况.遇到错误会发生异常. 如果异常对象未被处理或被捕捉,程序就会用所谓的回溯(t ...

  7. python学习笔记4_类和更抽象

    python学习笔记4_类和更抽象 一.对象 class 对象主要有三个特性,继承.封装.多态.python的核心. 1.多态.封装.继承 多态,就算不知道变量所引用的类型,还是可以操作对象,根据类型 ...

  8. Python 学习笔记 - 不断更新!

    Python 学习笔记 太久不写python,已经忘记以前学习的时候遇到了那些坑坑洼洼的地方了,开个帖子来记录一下,以供日后查阅. 摘要:一些报错:为啥Python没有自增 ++ 和自减 --: 0x ...

  9. Deep learning with Python 学习笔记(10)

    生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...

  10. Deep learning with Python 学习笔记(8)

    Keras 函数式编程 利用 Keras 函数式 API,你可以构建类图(graph-like)模型.在不同的输入之间共享某一层,并且还可以像使用 Python 函数一样使用 Keras 模型.Ker ...

随机推荐

  1. mysql 锁表的处理方式

    MySQL错误:ERROR 1205 (HY000): Lock wait timeout   处理方案:   执行mysql命令:show full processlist;   然后找出插入语句的 ...

  2. Jeesite 定时任务 Task

    转自 http://blog.lunhui.ren/archives/280 第一种方式 一. spring-context.xml配置加入 xmlns:task=”http://www.spring ...

  3. swift中实现cell中局部播放的动画效果

    在cell中 // 播放器动画效果 private var replicatorLayer:ReplicatorLayer = { let layer = ReplicatorLayer.init(f ...

  4. css笔记01

    CSS样式(Cascading Style Sheets) 表格布局缺陷: ​ 嵌套太多,一旦顺序错乱页面达不到预期效果 ​ 表格布局页面不灵活,动一块整个布局全都要变 语法: ​ 在style标签中 ...

  5. 【php】Swoole之php高性能通信框架

    Swoole介绍 swoole是由c语言开发的异步网络通信引擎,被编译为so文件(swoole.so)作为php的extesion扩展. 与其他普通扩展不同: 与普通的扩展不同的是普通的扩展只是提供一 ...

  6. 在设备上启用 adb 调试,有一个小秘密

    要在通过 USB 连接的设备上使用 adb,您必须在设备的系统设置中启用 USB 调试(位于开发者选项下). 在搭载 Android 4.2 及更高版本的设备上,“开发者选项”屏幕默认情况下处于隐藏状 ...

  7. 第一个eclipse maven项目!我超全!

    前言:以前一直用idea做东西,今天突然想试一下,没想到配置起来是真的麻烦!!!!会出现各种各样的问题,太晚了,本文只做出几处非常严重的问题,如有疑问,请私信,留言 准备:本文     JDK 1.8 ...

  8. 吴裕雄--天生自然 JAVASCRIPT开发学习:(String) 对象

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  9. CYPHER 语句(Neo4j)

    CYPHER 语句(Neo4j) 创建电影关系图 新增 查找 修改 删除 导入 格式转换 创建电影关系图 CREATE (TheMatrix:Movie {title:'The Matrix', re ...

  10. MySQL--InnoDB 关键特性

    插入缓冲 Insert Buffer 对于非聚集索引的插入或更新操作,不是每一次直接插入到索引页中,而是先判断插入的非聚集索引页是否在缓冲池中,若在,则直接插入:若不在,则先放入到一个 Insert ...