情况一:  子类完全继承父类所有的属性和方法, 自己没有一点更改.

class Person():
def __init__(self, name, age):
self.name = name
self.age = age def run(self):
print("跑步!") def eat(self, food):
print("吃%s!"%food) class Student(Person):
pass # 用pass占位, 完全继承父类的一切, 而且不做任何修改. stu = Student("tom", 18)
print(stu.name, stu.age)
stu.run()
stu.eat("apple")

# 结果:
# tom 18
# 跑步!
# 吃apple!

情况二:  子类继承父类的所有属性和方法,  而且自己想要增加新的方法.

class Person():
def __init__(self, name, age):
self.name = name
self.age = age def run(self):
print("跑步!") def eat(self, food):
print("吃%s!"%food) class Student(Person):
def drink(self): # 增加父类中没有的新的方法.
     print("喝水!") stu = Student("tom", 18)
print(stu.name, stu.age)
stu.run()
stu.eat("apple")
stu.drink() # 结果:
# tom 18
# 跑步!
# 吃apple!
# 喝水!

情况三:  子类继承自父类,  但是自己想要完全替换掉父类中的某个方法.

class Person():
def __init__(self, name, age):
self.name = name
self.age = age def run(self):
print("跑步!") def eat(self, food):
print("吃%!"%food) class Student(Person):
def eat(self): # 重写父类方法, 将会完全覆盖掉原来的父类方法.
     print("吃东西!")
stu = Student("tom", 18)
print(stu.name, stu.age)
stu.run()
stu.eat() # 结果:
# tom 18
# 跑步!
# 吃东西!

情况四:  子类继承父类的所有属性和方法,  并且想在原有父类的属性和方法的基础上做扩展.

class Person():
def __init__(self, name, age):
self.name = name
self.age = age def run(self):
print("跑步!") def eat(self, food):
print("吃%s!"%food) class Student(Person):
def __init__(self, name, age, height):
super(Student, self).__init__(name, age) # 对父类属性进行扩展
self.height = height # super()内的(子类名, self)参数可以不写 def eat(self, food):
super(Student, self).eat(food) # 对父类方法进行扩展
print("再吃一个!") # super()内的(子类名, self)参数可以不写 stu = Student("tom", 18, 175)
print(stu.name, stu.age, stu.height)
stu.run()
stu.eat("apple")
# 结果:
# tom 18 175
# 跑步!
# 吃apple!
# 再吃一个!

Python面向对象之 - 继承的更多相关文章

  1. Python 面向对象编程 继承 和多态

    Python 面向对象编程 继承 和多态 一:多继承性 对于java我们熟悉的是一个类只能继承一个父类:但是对于C++ 一个子类可以有多个父亲,同样对于 Python一个类也可以有多个父亲 格式: c ...

  2. Python面向对象编程——继承与派生

    Python面向对象编程--继承与派生 一.初始继承 1.什么是继承 继承指的是类与类之间的关系,是一种什么"是"什么的关系,继承的功能之一就是用来解决代码重用问题. 继承是一种创 ...

  3. Python面向对象03 /继承

    Python面向对象03 /继承 目录 Python面向对象03 /继承 1. 初识继承 2. 单继承 3. 多继承 4. 总结 1. 初识继承 概念:专业角度:如果B类继承A类,B类就称为子类,派生 ...

  4. python面向对象(封装,继承,多态)

    python面向对象(封装,继承,多态) 学习完本篇,你将会深入掌握 如何封装一个优雅的借口 python是如何实现继承 python的多态 封装 含义: 1.把对象的属性和方法结合成一个独立的单位, ...

  5. python面向对象编程 继承 组合 接口和抽象类

    1.类是用来描述某一类的事物,类的对象就是这一类事物中的一个个体.是事物就要有属性,属性分为 1:数据属性:就是变量 2:函数属性:就是函数,在面向对象里通常称为方法 注意:类和对象均用点来访问自己的 ...

  6. python面向对象的继承-组合-02

    *面向对象(OOP)的三大特征:**# 封装.继承.多态 继承 什么是继承 继承:# 是一种关系,描述两个对象之间什么是什么的什么的关系 例如:麦兜.佩奇.猪猪侠.猪刚鬣,都是猪 为什么要使用继承 继 ...

  7. python 面向对象之继承与派生

    一:初识继承 1,什么是继承? 继承指的是类与类之间的关系,是一种什么"是"什么的关系,继承的功能之一就是用来解决代码重用问题 继承是一种创建新类的方式,在python中,新建的类 ...

  8. python面向对象之继承/多态/封装

    老师说,按继承/多态/封装这个顺序来讲. 子类使用父类的方法: #!/usr/bin/env python # coding:utf-8 class Vehicle: def __init__(sel ...

  9. python面向对象之继承与派生

    一.继承 继承是一种创建新的类的方式,在python中,新建的类可以继承自一个或者多个父类,原始类称为基类或超类,新建的类称为派生类或子类. python中类的继承分为:单继承和多继承,如果是多继承的 ...

  10. 十七、Python面向对象之继承

    在面向对象,继承是一个很重要的特性 子类与父类,子类是对父类的一种扩展,在父类的属性和方法上进行一些扩展 示例:没带继承   #定义一个带编号和状态的门的类 class Door(object): d ...

随机推荐

  1. Amazon EKS 中 EFS 持久性存储

    作者:SRE运维博客 博客地址:https://www.cnsre.cn/ 文章地址:https://www.cnsre.cn/posts/220110850573/ 相关话题:https://www ...

  2. kafka学习笔记(二)kafka的基本使用

    概述 第一篇随笔从消息队列的定义和各种应用,以及kafka的分类定义和基本知识,第二篇就写一篇关于kafka的基本实际配置和使用的随笔,包括kafka的集群参数的配置,生产者使用机制,消费者使用机制. ...

  3. C#进程调用FFmpeg操作音视频

    项目背景 因为公司需要对音视频做一些操作,比如说对系统用户的发音和背景视频进行合成,以及对多个音视频之间进行合成,还有就是在指定的源背景音频中按照对应的规则在视频的多少秒钟内插入一段客户发音等一些复杂 ...

  4. 《剑指offer》面试题35. 复杂链表的复制

    问题描述 请实现 copyRandomList 函数,复制一个复杂链表.在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null. ...

  5. 【源码阅读】vm-insert与vm-storage之间的通讯

    先说结论 vm-insert与vm-storage之间采用极其简单的通讯协议 对于简单的场景,越简单性能越高 vm-insert连接到vm-storage后,先发送字符串vminsert.02,vm- ...

  6. VueRouter学习01-基本使用

    ## 基本使用: 1. 创建一个`VueRouter`对象:`new VueRouter()`. 2. 在`VueRouter`中,需要传递一个`routes`参数.这个参数是一个数组类型,数组中存储 ...

  7. linux设置定时任务(全面解析教程)

    目录 一:系统定时任务 二:系统定时任务配置文件(crontab) 三:增加定时任务 1.crontab -e 2.1.sh 3.2.txt 四:查看crontab定时任务 五:定时任务配置文件(ro ...

  8. super之mro列表牵引出c3算法

    目录 一:super的使用 二:super之mro列表牵引出c3算法 三:mro列表总结使用 一:super的使用 class Person(object): def __init__(self, n ...

  9. jenkins pipeline设置

    转:https://mp.weixin.qq.com/s/MwyBsUWUQASGMr_erGfzZA

  10. python列表删除和排序

    1.del message[0]---知道位置不知道值 2.message.remove('a')----知道值不知道位置 3.message.sort()--正向永久排序 4.message.sor ...