开题:其实所有语言方法重新写的规则都大同小异,楼主下面所说的规则适用于(绝大部分)所有热门语言,嗯哼~
WHY:子类继承父类时,父类的方法(函数)不能满足我们的需求,我们对父类的方法进行选择性的修改甚至覆盖(全部修改...)就称之为重写(顺便对新手提一句,方法就 (约等于) 等于函数)
HOW:既然是重写父亲的方法,就一定要遵守“祖训”
1、方法名、参数、返回值打死都不能变(就和我们的姓氏一样)
2、声明为static、final(python中没有)、private的方法不能重写,同一个类中可以重写public和protected的 方法(public大家都可以理解,所以一定要记住protected也可以重写,虽然现实中遇见的可能性不大,但 是还是有可能在重要关头ban一下脚)
3、重写的访问权限不可以降低。比如父亲声明为公有,你自己声明为私有private自己用合适么?
4、析构函数也不可以(像析构函数之类的乱七八糟的函数,在进行操作时,如果不是记得很清楚的话,操 作 之前先查一下,是不是可以修改)
最后给一段简单的小程序,给大家了解一下
class Parent: def myMethod(self): print("this is parent") class child(Parent): def myMethod(self): print('this is child') c = child() c.myMethod() super(child,c).myMethod()
super()方法详细点查看