Python面向对象之 - 继承
情况一: 子类完全继承父类所有的属性和方法, 自己没有一点更改.
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面向对象之 - 继承的更多相关文章
- Python 面向对象编程 继承 和多态
Python 面向对象编程 继承 和多态 一:多继承性 对于java我们熟悉的是一个类只能继承一个父类:但是对于C++ 一个子类可以有多个父亲,同样对于 Python一个类也可以有多个父亲 格式: c ...
- Python面向对象编程——继承与派生
Python面向对象编程--继承与派生 一.初始继承 1.什么是继承 继承指的是类与类之间的关系,是一种什么"是"什么的关系,继承的功能之一就是用来解决代码重用问题. 继承是一种创 ...
- Python面向对象03 /继承
Python面向对象03 /继承 目录 Python面向对象03 /继承 1. 初识继承 2. 单继承 3. 多继承 4. 总结 1. 初识继承 概念:专业角度:如果B类继承A类,B类就称为子类,派生 ...
- python面向对象(封装,继承,多态)
python面向对象(封装,继承,多态) 学习完本篇,你将会深入掌握 如何封装一个优雅的借口 python是如何实现继承 python的多态 封装 含义: 1.把对象的属性和方法结合成一个独立的单位, ...
- python面向对象编程 继承 组合 接口和抽象类
1.类是用来描述某一类的事物,类的对象就是这一类事物中的一个个体.是事物就要有属性,属性分为 1:数据属性:就是变量 2:函数属性:就是函数,在面向对象里通常称为方法 注意:类和对象均用点来访问自己的 ...
- python面向对象的继承-组合-02
*面向对象(OOP)的三大特征:**# 封装.继承.多态 继承 什么是继承 继承:# 是一种关系,描述两个对象之间什么是什么的什么的关系 例如:麦兜.佩奇.猪猪侠.猪刚鬣,都是猪 为什么要使用继承 继 ...
- python 面向对象之继承与派生
一:初识继承 1,什么是继承? 继承指的是类与类之间的关系,是一种什么"是"什么的关系,继承的功能之一就是用来解决代码重用问题 继承是一种创建新类的方式,在python中,新建的类 ...
- python面向对象之继承/多态/封装
老师说,按继承/多态/封装这个顺序来讲. 子类使用父类的方法: #!/usr/bin/env python # coding:utf-8 class Vehicle: def __init__(sel ...
- python面向对象之继承与派生
一.继承 继承是一种创建新的类的方式,在python中,新建的类可以继承自一个或者多个父类,原始类称为基类或超类,新建的类称为派生类或子类. python中类的继承分为:单继承和多继承,如果是多继承的 ...
- 十七、Python面向对象之继承
在面向对象,继承是一个很重要的特性 子类与父类,子类是对父类的一种扩展,在父类的属性和方法上进行一些扩展 示例:没带继承 #定义一个带编号和状态的门的类 class Door(object): d ...
随机推荐
- Typora 图片上传
Typora 图片上传 本文借鉴源于:https://zhuanlan.zhihu.com/p/137426939 感谢博主分享 引: 不知道你们平时都在哪里做笔记,本人都是在CSDN Java慈祥 ...
- WEB开发的相关知识(Tomcat)
Internet上供外界访问的Web资源分为 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变. 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访 ...
- eclipse不能创建web项目,如何设置(亲测可用)
具体描述:就是在项目右键或者file-->new的时候没有dynamic web project选项)(我这里已经解决.所以看得到) 根本原因:就是有没有web的开发插件 两种办法 1.下载使用 ...
- Windows如何搭建SSL通信(非Web)
自己研究了会儿,把结论发出来给有需要的人 第一步:准备环境 首先需要一台服务器(这不是废话吗),我这边用的windows2003, 还需要一台客户端,我用的是windwos2008 第二步:服务器环境 ...
- 浅谈FFT(快速傅里叶变换)
前言 啊摸鱼真爽哈哈哈哈哈哈 这个假期努力多更几篇( 理解本算法需对一些< 常 用 >数学概念比较清楚,如复数.虚数.三角函数等(不会的自己查去(其实就是懒得写了(¬︿̫̿¬☆) 整理了一 ...
- Redis哨兵模式高可用解决方案
一.序言 Redis高可用有两种模式:哨兵模式和集群模式,本文基于哨兵模式搭建一主两从三哨兵Redis高可用服务. 1.目标与收获 一主两从三哨兵Redis服务,基本能够满足中小型项目的高可用要求,使 ...
- netty系列之:选byte还是选message?这是一个问题
目录 简介 类型的定义 搭建UDT stream服务器 搭建UDT message服务器 Stream和Message的handler 总结 简介 UDT给了你两种选择,byte stream或者me ...
- git删除误传的.idea文件
问题: 提交项目的时候忘记添加.gitignore文件,误上传了文件(如.idea)如何解决?如何删除Gitee地址上项目的.idea文件?(本文以.idea文件夹举例) 拉取项目 拉取项目 git ...
- DESUtil
package com.tebon.ams.util;import sun.misc.BASE64Decoder;import javax.crypto.Cipher;import javax.cry ...
- 【HTML】table表格拆分合并(colspan、rowspan)
代码演示 横向合并: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http:// ...