为什么用继承: 因为继承可以减少代码的冗余,提高维护性,为了从根本上解决存在的问题,就需要继承,就是将多个类当中的相同的地方提取到一个父类当中。父类更通用,子类更具体。 super的作用: 调用父类的构造方法 调用父类的方法 ...
分类:
编程语言 时间:
2018-10-28 16:49:39
阅读次数:
230
1、__str__与__repr__方法 这两个双下方法可以改变字符串的显示,打印一个对象,本质上是调用__str__方法,如果没有找到,就找__repr__方法,再找不到,就调用父类中的,__repr_是__str__的备胎,__str__不是__repr_的,再父类中有一个__str__方法,一 ...
分类:
其他好文 时间:
2018-10-27 13:28:26
阅读次数:
179
当一个类继承了某个类时,在子类的构造方法里,super()必须先被调用;如果你没有写,编译器会自动调用super()方法,即调用了父类的构造方法; 这并不是创建了两个对象,其实只有一个子类Sub对象;之所以需要调用父类的构造方法是因为在父类中,可能存在私有属性需要在其构造方法内初始化; 在Java中 ...
分类:
其他好文 时间:
2018-10-25 00:09:16
阅读次数:
211
python 面向对象十一 super函数 super函数用来解决钻石继承。 一、python的继承以及调用父类成员 父类: class Base(object): def __init__(self): print("base init.") 普通方法调用父类: class Leaf(Base): ...
分类:
编程语言 时间:
2018-10-24 22:12:03
阅读次数:
264
重写和重载 重写是继承之后的Override 重载是同一个方法,有着不同的入参出参这样子; super 当需要在子类中调用父类的被重写方法时,要使用super关键字。 当然只要是调用父类的方法,都会用到super super指的超类指的是离自己最近的一个父类 super.value,super.fu ...
分类:
编程语言 时间:
2018-10-24 22:01:46
阅读次数:
155
看到网上有人问一个关于继承问题:刚学到继承这里,被super难住了。在网上查资料,super代表父类对象的引用,但是子类生成对象时只是调用了父类的构造方法,并未生成父类对象,那么此时super为什么能调用父类的方法,设定改方法被子类重写。super既然调用了父类的方法,说明super就是父类对象的引用,但是又没生成父类的对象,那么此时super是怎么调用父类方法的?希望大家帮我分析下这个问题,谢谢
分类:
其他好文 时间:
2018-10-24 15:25:29
阅读次数:
260
__具有唯一性,不同类下面得相同__函数名字,是不同的,这个是有自己的作用域的,当你继承父类的时候,是不可以调用父类里面的这个方法的, 继承:当子类没有这个方法或者属性的时候,就去父类里面找,__函数名字 继承的用法:例子1:class A(): def __edit(self): print('A ...
分类:
其他好文 时间:
2018-10-20 16:27:43
阅读次数:
122
ManagerTest代码 1、UML图 2、文件第26行e.getSalary(),到底是调用Manager类的还是Employee类的getSalary方法? 3、Manager类的构造函数使用super调用父类的构造函数实现了代码复用,这样有什么好处?为什么不把父类构造函数中的相关代码复制粘贴 ...
分类:
其他好文 时间:
2018-10-17 00:30:00
阅读次数:
180
实验七继承附加实验 实验时间 2018-10-11 第一部分:理论部分 1.继承:如果两个类存在继承关系,则子类会自动继承父类的方法和变量,在子类中可以调用父类的方法和变量,如果想要在子类里面做一系列事情,应该放在父类无参构造器里面,在java中,只允许单继承,也就是说一个类最多只能显示地继承于一个 ...
分类:
其他好文 时间:
2018-10-14 14:02:16
阅读次数:
182
王之泰201771010131《面向对象程序设计(java)》第七周学习总结 第一部分:理论知识学习部分 第五章 第五章内容深度学习: 继承:如果两个类存在继承关系,则子类会自动继承父类的方法和变量,在子类中可以调用父类的方法和变量,如果想要在子类里面做一系列事情,应该放在父类无参构造器里面。 在j ...
分类:
编程语言 时间:
2018-10-14 11:26:32
阅读次数:
196