第一种方式

直接在子类中调用父类名:

  • 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()

两种调用方法对比

调用实例:

  1. Vehicle.__init__(self,name,speed,load,power)#调用父类的实例
  2. super().__init__(name,speed,load,power)

调用方法:

  1. Vehicle.run(self)  #调用父类的方法
  2. super().run()

用super方法调用父类方法的好处:

1、不用再写父类名,就算父类名字改变,子类调用父类的逻辑也不需要改动;

2、不用再传self参数,默认把self传进去了

python之子类调用父类的两种方式的更多相关文章

  1. 调用init方法 两种方式 一个是浏览器方法 一个是 xml中手工配置(load-on-startup)

    调用init方法 两种方式 一个是浏览器方法 一个是 xml中手工配置(load-on-startup)

  2. Python之面向对象的组合、多态、菱形问题、子类中重用父类的两种方式

    一.组合 ''' 1.什么是组合 组合就是一个类的对象具备某一个属性,该属性的值是指向另外一个类的对象 2.为何用组合 组合也是用来解决类与类直接代码冗余问题的 3.如何用组合 ''' # 继承减少代 ...

  3. python中子类调用父类的方法

    1子类调用父类构造方法 class Animal(object): def __init__(self): print("init Animal class~") def run( ...

  4. Unity调用Android的两种方式:其一、调用jar包

    unity在Android端开发的时候,免不了要调用Java:Unity可以通过两种方式来调用Android:一是调用jar.二是调用aar. 这篇文章主要讲解怎么从无到有的生成一个jar包,然后un ...

  5. Python:实现图片裁剪的两种方式——Pillow和OpenCV

    原文:https://blog.csdn.net/hfutdog/article/details/82351549 在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还 ...

  6. Python创建进程、线程的两种方式

    代码创建进程和线程的两种方式 """ 定心丸:Python创建进程和线程的方式基本都是一致的,包括其中的调用方法等,学会一个 另一个自然也就会了. "" ...

  7. python 读取wav 音频文件的两种方式

    python 中,常用的有两种可以读取wav音频格式的方法,如下所示: import scipy from scipy.io import wavfile import soundfile as sf ...

  8. Spring容器自动调用方法的两种方式

    先看一个Spring中Bean的实例化过程: 1.配置文件中指定Bean的init-method参数 <bean class="com.jts.service.UserService& ...

  9. 软件调用QML的两种方式

    一.两种方式 二.方式1[对窗口的控制权在QML] 三.方式2[对窗口的控制权在C++]

随机推荐

  1. js 元素遍历

    2018-06-26 //百度首页测试 var i, len = 0, element = document.querySelector('#s_form_wrapper'), child = ele ...

  2. SWT中嵌入Swing的JTextFeild却不能编辑

    SWT中嵌入Swing的JTextFeild却不能编辑 学习了:http://www.iteye.com/problems/49487   膜拜一下 org 竟然有这样的坑,需要在中间添加一个JApp ...

  3. hadoop1.0.4升级到hadoop2.2 具体流程步骤

     hadoop1.x 升级到hadoop2.2 本文參考了博客:http://blog.csdn.net/ajax_jquery/article/details/27311671,对一些地方做了改动. ...

  4. 生产上数据库大量的latch free 导致的CPU资源耗尽的问题的解决

    中午的时候,我们生产上的某个数据库,cpu一直居高不下 通过例如以下的sql语句,我们查看当时数据库的等待,争用的情况: select s.SID, s.SERIAL#, 'kill -9 ' || ...

  5. 使用UIScrollView和UIPageControl做一个能够用手势来切换图片的效果

    利用UIScrollView的滚动效果来实现,先上图: 实现过程是:在viewController里先增加UIScrollView和UIPageControl: -(void) loadView { ...

  6. bzoj5277: [Usaco2018 Open]Out of Sorts

    被tkj大爷艹爆了5555整套模拟赛都是神仙思路题 那么这题题解 还有一个神仙做法,zory巨神在考场上找规律AC,自己都不会证..我证明了一下(然而这货还是不认可自己的做法) 按照分割点的思路,我们 ...

  7. 0x57 倍增优化DP

    真的是下定了巨大的决心来搞这一讲,果不其然耗了一晚上 开车旅行(真的是NOIP的题吗怎么这么恐怖) 首先,先用set把小A和小B从城市i出发,到达的下一个城市预处理出来. f[i][j][k]表示走了 ...

  8. 2017-3-13 leetcode 4 11 15

    ji那天居然早起了,惊呆我了,眼睛有点儿疼,一直流泪....继续保持 ========================================================== leetco ...

  9. Java-Zipkin:Zipkin 介绍

    ylbtech-Java-Zipkin:Zipkin 介绍 1.返回顶部 1. 介绍 Zipkin 是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 ...

  10. Could not open ServletContext resource [/WEB-INF/Dispatcher-servlet.xml]

    转自:https://blog.csdn.net/mafan121/article/details/44833201 配置spring时出现了如下错误: 默认的DispatcherServlet在初始 ...