• 技术文章 >Python技术 >Python基础教程

    python继承类中如何重写?

    小妮浅浅小妮浅浅2021-04-22 10:07:09原创4205

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    1、重写的类别

    1)重写和父类的方法名称一样。但是在子类里面,重新实现。

    2)保留父类的做法,在它的基础上再扩展其它的内容。(扩展方式:super())

    super()的2种表达:

    super().方法(参数列表)

    super(子类名,self).方法(参数列表)

    2、重写实例

    Animal 的子类Cat继承了父类的属性和方法,但是我们猫类 Cat 有自己的叫声 '喵喵' ,这时我们可以对父类的 Call() 方法进行重构。如下:

    class Cat(Animal):
       def __init__(self, name, age, sex):
           super(Cat, self).__init__(name,age)
           self.sex = sex
     
       def call(self):
           print(self.name,'会“喵喵”叫')
     
    if __name__ == '__main__':
       c = Cat('喵喵', 2, '男')
       c.call()  # 输出:喵喵 会“喵喵”叫

    类方法的调用顺序,当我们在子类中重构父类的方法后,Cat子类的实例先会在自己的类 Cat 中查找该方法,当找不到该方法时才会去父类 Animal 中查找对应的方法。

    为了方法的快速调用,我们会从父类那里继承方法,放在子类的使用上。但这样也会产生一种问题,子类全部显示的是父类的类别,而没有自身特性进行区分。这时候方法的重写就很有必要了。

    以上就是python继承类中重写的方法,在遇到子类不能区分的问题时,大家就可以通过重写方法来辨别啦。学会后快试试重写的使用吧。

    专题推荐:python类,重写
    上一篇:python中如何使用items()函数实现字典转换为DataFrame 下一篇:python中子类与父类的关系

    相关文章推荐

    • python继承是如何实现的

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网