继承


class Animal(object):

    #初始化的事情
    def __init__(self, name = '动物', color = '白色'):
        self.__name = name      #私有属性不会被继承
        self.__color = color

    #结束前做的事情
    def __del__(self):
        print("---------结束-------")


class Dog(object):

    #初始化的事情
    def __init__(self, name = '狗', color = '白色'):
        self.__name = name
        self.__color = color

    #结束前做的事情
    def __del__(self):
        print("---------结束-------")

    def printInfo(self):
        print("名字是:%s"%self.__name)
        print("颜色是:%s"%self.__color)


wangcai = Dog(name = "旺财")
wangcai.printInfo()
del wangcai

运用继承


class Animal(object):

    #初始化的事情
    def __init__(self, name = '动物', color = '白色'):
        self.name = name
        self.color = color

    #结束前做的事情
    def __del__(self):
        print("---------结束-------")


class Dog(Animal):

    #初始化的事情
    #def __init__(self, name = '狗', color = '白色'):
     #   self.__name = name
      #  self.__color = color

    #结束前做的事情
    #def __del__(self):
     #   print("---------结束-------")

    def printInfo(self):
        print("名字是:%s"%self.name)
        print("颜色是:%s"%self.color)


wangcai = Dog(name = "旺财")
wangcai.printInfo()
del wangcai

 

 

调用父类的方法


class Animal(object):

    def bark(self):
        print("aaaaa.....")

class Cat(Animal):
    #在子类中重新编写这个方法,就叫做重写
    def bark(self):
        #调用父类的方法bark()
        Animal.bark(self)  #python2就有
        super().bark()
        
        print("喵喵.....")
        
tom = Cat()
tom.bark()

多继承

#多继承

class A(object):

    def test(self):
        print("------A test------")
        
class B(object):
    
    def test(self):
        print("------B test------")

class C(A, B):

    pass

c = C()
c.test()
print(C.__mro__)   #查看C类对象搜索方法时的先后顺序

多态

class Animal(object):

    def bark(self):
        print("啊啊啊啊")



class Cat(Animal):

    def bark(self):

        print("喵喵")

class Dog(Animal):

    def bark(self):

        print("汪汪汪")

#多态:调用同一个方法,但是执行的代码或者说现象不一样

class Robot(object):

    def bark(self):
        print("嗡嗡嗡")

def animalBark(temp):
    temp.bark()

maomi = Cat()
wangcai = Dog()
animalBark(maomi)
animalBark(wangcai)

dingdang = Robot()
animalBark(dingdang)

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值