首页 > 其他 > 详细

20 方法的继承,重写,私有属性,私有方法

时间:2020-06-11 22:47:15      阅读:67      评论:0      收藏:0      [点我收藏+]
class Animal:
    def eat(self):
        print("eat")
    def __sleep(self):    # __开头的方法是私有的,不能在类定义外面使用,不能被子类调用,但是可以在父类公有方法中调用私有属性或方法,子类就可以间接调用这些私有属性或方法
        print("sleep")

    def __init__(self):
        self.__age=5 #__开头的属性是私有的,不能在类定义外面使用
class Dog(Animal): #Dog 类继承Animal类的全部属性和方法,也有eat() ,__sleep() ,age def bark(self): #定义一个Dog 才有的Bark属性 print("bark bark ") class SingleDog(Dog): def bark(self): #对bark 属性进行重写,不再有父类的bark方法 print("sing sing") class GodDog(Dog): def fly(self): print("fly") def bark(self): #对bark 属性进行重写, 保留有父类的bark方法 super().bark() # 调用父类的方法
        Dog.bark(self) # 同上,老版本py调用父类方法
print("ying ying ") #同时,追加其他的操作
dog
=Dog() dog.bark() print("-"*50) single_dog=SingleDog() single_dog.bark() print("-"*50) goddog=GodDog() goddog.bark() man=Animal()
# __开头的属性和方法是私有的,不能在类定义外面使用,报错!! #man.__sleep()
#py 没有严格的私有,可以通过如下方法调用私有属性和方法,不推荐 man._Animal__sleep()

 

20 方法的继承,重写,私有属性,私有方法

原文:https://www.cnblogs.com/abel2020/p/13096310.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!