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

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. 通过springBoot集成搭建webScoket服务器

    前言: 最近工作中有一个需求,就是服务端要主动推送消息给客户端,而我们平常的Http请求只能一请求一响应,为此学习了webScokset通讯技术,以下介绍的是java 通过SpringBoot集成we ...

  2. 【Java常用类】System

    System System类代表系统,系统级的很多属性和控制方法都放置在该类的内部. 该类位于java.lang包.由于该类的构造器是private的,所以无法创建该类的对象,其内部的成员变量和成员方 ...

  3. windows server 服务器安装jenkins 并通过git拉取代码实现自动发布到IIS

    Jenkins是一个开源软件,可以通过一定的配置进行自动构建,测试,部署等功能. 首先,服务器应安装好 .NET Core环境和JDK, 下载Jenkins安装包 https://www.jenkin ...

  4. MATLAB中插值算法实现

    %%%1.M文件%(1).以往少的程序可以在命令行窗口进行编码,但大量的程序编排到命令行窗口,%会有造成乱码的危险.(2).如果将命令编成程序存储在一个文件中(M文件),依次运行文件中的命令,则可以重 ...

  5. 《剑指offer》面试题52. 两个链表的第一个公共节点

    问题描述 输入两个链表,找出它们的第一个公共节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], lis ...

  6. C# 实现NPOI的Excel导出

    技术点: 1.自定义attribute属性 2.通过反射取类及其属性的attribute属性值 3.NPOI包常用属性及方法(我也仅仅知道用到过的,陌生的要么见名知意,要么百度查) 实现功能点: Li ...

  7. Windows Server 2008 R2 数据离机备份与恢复操作手册

    Windows Server 2008 R2 数据离机备份与恢复操作手册 实验环境 Windows server 2008 R2(服务器) IP地址:192.168.136.175 计算机名:CXH ...

  8. 利用SelectPdf插件将网页生成PDF

    简介 适用于.NET Framework和.NET Core的HTML至PDF转换器 SelectPdf提供的在线html到pdf转换器使用.NET的Select.Pdf库中的html到pdf转换器. ...

  9. hostnamectl主机名

    hostnamectl 可用于查询与修改系统主机名以及其他相关设置. 所谓"主机名",其实有三种不同的含义: "pretty"主机名,仅供人类阅读,可以包含各种 ...

  10. python02day

    回顾 1.编译型和解释型 编译型:一次性编译成二进制,再执行 执行效率高,但不能跨平台,开发效率低 代表语言:C 解释型:逐行解释成二进制,再执行 可以跨平台,开发效率高,但执行效率低 代表语言:py ...