码迷,mamicode.com
首页 > 其他好文 > 详细

2.28继承

时间:2020-05-17 22:00:09      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:bsp   font   main   父类   style   公有   span   优先   cts   

#__authon: yeweijian.scarfgw
#date: 2020/2/28
#继承: 这里是对象的继承,对象属性表现上来讲可以继承,但是本质上只是继承了父类的方法;
# 子类继承父类的公有属性本质上是因为继承了父类的init方法的问题 后续方法重写中会提及
#注意父类的私有属性私有方法都不能继承
#注意父类子类皆有某一个方法是,都会优先使用子类中的方法
class Animal:
    def __init__(self,name):
        print(对象的初始化)
        self.name = 这里是animal的name属性
    def eat(self):
        print(能吃的动物)
    def run(self):
        print(能跑的动物)


class Cat(Animal):
    def __init__(self):
        print(猫初始化)
    def catch(self):
        print(---抓老鼠---)


cat = Cat()
print(cat)
print(cat.name) #此处报错!!!!!
#output:
# 猫初始化
# File "C:/Users/Administrator/PycharmProjects/untitled3/study/2.28继承.py", line 26, in <module>
#<__main__.Cat object at 0x00000000026F9188>
   # print(cat.name)
#AttributeError: ‘Cat‘ object has no attribute ‘name‘

#报错解析:对象实例化中,当继承父类中存在init方法,本身还存在init方法时,优先调用自身的init方法



"""-------------------------------------------------------------------------------"""



class  Dog(Animal):
    def __init__(self,name):
        self.name = name
        print(狗的初始化)
    def set_name(self):
        print(狗的名字是%s%self.name)
d = Dog(小白)
d.eat()
d.run()
d.set_name()
"""狗的初始化
能吃的动物
能跑的动物
狗的名字是小白
小白
"""
class Zangao(Animal):
    def fight(self):
        print(好斗的属性)
z =  Zangao(xiaohei)
z.eat()
‘‘‘output:
对象的初始化
能吃的动物‘‘‘

#单个继承:当前类没有方法,会寻找父类中的方法

 

 

2.28继承

标签:bsp   font   main   父类   style   公有   span   优先   cts   

原文地址:https://www.cnblogs.com/yescarf/p/12907062.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!