python之子类调用父类的两种方式
第一种方式
直接在子类中调用父类名:
- Vehicle.__init__(self,name,speed,load,power)#调用父类的实例
- Vehicle.run(self) #调用父类的方法
#直接调用父类名
class Vehicle:
Country = "China"
def __init__(self,name,speed,load,power):
self.name = name
self.speed = speed
self.load = load
self.power = power def run(self):
print("开动了!!!")
class Subway(Vehicle):#继承父类
def __init__(self,name,speed,load,power,line):
Vehicle.__init__(self,name,speed,load,power)#调用父类的实例
self.line = line def show_info(self):
print(self.name,self.speed,self.load,self.power,self.line) def run(self):
Vehicle.run(self) #调用父类的方法
print("%s %s 线开动啦" % (self.name, self.line))
d1 = Subway("北京地铁","10km/h",10000,"电",13)
d1.show_info()
d1.run()
第二种方式
调用super方法:
- super().__init__(name,speed,load,power)
- super().run()
#super方法
class Vehicle:
Country = "China"
def __init__(self,name,speed,load,power):
self.name = name
self.speed = speed
self.load = load
self.power = power def run(self):
print("开动了!!!")
class Subway(Vehicle):#继承父类
def __init__(self,name,speed,load,power,line):
#Vehicle.__init__(self,name,speed,load,power)#调用父类的实例
super().__init__(name,speed,load,power)
self.line = line def show_info(self):
print(self.name,self.speed,self.load,self.power,self.line) def run(self):
#Vehicle.run(self) #调用父类的方法
super().run()
print("%s %s 线开动啦" % (self.name, self.line))
d1 = Subway("北京地铁","10km/h",10000,"电",13)
d1.show_info()
d1.run()
两种调用方法对比
调用实例:
- Vehicle.__init__(self,name,speed,load,power)#调用父类的实例
- super().__init__(name,speed,load,power)
调用方法:
- Vehicle.run(self) #调用父类的方法
- super().run()
用super方法调用父类方法的好处:
1、不用再写父类名,就算父类名字改变,子类调用父类的逻辑也不需要改动;
2、不用再传self参数,默认把self传进去了
python之子类调用父类的两种方式的更多相关文章
- 调用init方法 两种方式 一个是浏览器方法 一个是 xml中手工配置(load-on-startup)
调用init方法 两种方式 一个是浏览器方法 一个是 xml中手工配置(load-on-startup)
- Python之面向对象的组合、多态、菱形问题、子类中重用父类的两种方式
一.组合 ''' 1.什么是组合 组合就是一个类的对象具备某一个属性,该属性的值是指向另外一个类的对象 2.为何用组合 组合也是用来解决类与类直接代码冗余问题的 3.如何用组合 ''' # 继承减少代 ...
- python中子类调用父类的方法
1子类调用父类构造方法 class Animal(object): def __init__(self): print("init Animal class~") def run( ...
- Unity调用Android的两种方式:其一、调用jar包
unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...
- Python:实现图片裁剪的两种方式——Pillow和OpenCV
原文:https://blog.csdn.net/hfutdog/article/details/82351549 在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还 ...
- Python创建进程、线程的两种方式
代码创建进程和线程的两种方式 """ 定心丸:Python创建进程和线程的方式基本都是一致的,包括其中的调用方法等,学会一个 另一个自然也就会了. "" ...
- python 读取wav 音频文件的两种方式
python 中,常用的有两种可以读取wav音频格式的方法,如下所示: import scipy from scipy.io import wavfile import soundfile as sf ...
- Spring容器自动调用方法的两种方式
先看一个Spring中Bean的实例化过程: 1.配置文件中指定Bean的init-method参数 <bean class="com.jts.service.UserService& ...
- 软件调用QML的两种方式
一.两种方式 二.方式1[对窗口的控制权在QML] 三.方式2[对窗口的控制权在C++]
随机推荐
- ISAP 算法的学习
http://www.renfei.org/blog/isap.html 算法与数学 网络流-最大流问题 ISAP 算法解释 2013-08-07Renfei Song 2 条评论 内容提要 [隐藏] ...
- 【ACM】hdu_1092_A+BIV_201307261630
A+B for Input-Output Practice (IV)Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/3276 ...
- Converter实现Date类型转换
1.springmvc-config.xml配置 <?xml version="1.0" encoding="UTF-8"?> <beans ...
- Qt5.9 提供Qt Remote Objects,OAuth1 & OAuth2,重写了QML的GC
Technology Preview Modules Qt Remote Objects - A module that allows you to easily share QObject inte ...
- 36岁IT老人再次随笔——程序员的门槛其实并不高,但却是一个易学难精的行当——IT的快车很快,我常看到不少人摔落下去,但又有不少身手敏捷的人跳了上来 good
36岁的我,还在IT里面留恋着技术.我不是什么技术牛人,只是不愿离开.搞硬件的朋友对我说:“我以为你是搞硬件的,没想到你软件方面这么厉害?”,搞软件的朋友对我说:“我以为你只是搞软件的,没想到你硬件方 ...
- POJ2228 Naptime 环形DP
题目大意:牛在第i个小时睡觉能够恢复U[i]点体力.睡觉时第一小时不恢复体力.一天的N小时连着下一天的1小时.求能够恢复体力的和的最大值. 定义DP[i][j][0]为前i个小时休息了j个小时,i小时 ...
- Python生成器实现杨辉三角打印
def triangles(): c = [1] while 1: yield c a,b=[0]+c,c+[0] c=[a[i]+b[i] for i in range(len(a))] n = 0 ...
- 兼容各个浏览器的jquyer zclip复制文本插件 无效的解决办法
项目中使用点击文本复制功能,用了这个兼容各个浏览器的插件,但是发现放在最前面正常,放到嵌套的html中就失效. 解决办法: <span style="position: relativ ...
- WRAR下载及注册
下载过程: 1.打开winrar官网:https://www.win-rar.com 2.点击下载winrar按钮,如上图所示 3.进入下一页面,点击下载按钮即可完成下载过程 注册过程:https:/ ...
- 移动web开发中自己遇到的三个小题及解决方法
大家好! 这是我第二次写随笔感想,有不足之处希望大家提出,我也算的上一个小白,自己进入前端行业也刚刚半年,在这里半年里我遇到一个技术大牛的好领导,让我在项目中学到很多,想和大家分享一下! 一. 移动端 ...