Discuss / Python / day14-6月14日

day14-6月14日

Topic source

Promethues

#1 Created at ... [Delete] [Delete and Lock User]

###继承和多态

class Animal(object):

    def run(self):

        print('Animal is runing...')  

peiqi = Animal().run() #peiqi = None

class Dog(Animal):

    def run(self):

        print('Dog is running...')

class Cat(Animal):

    pass

class Car(object):

    def run(self):

        print('car is runing')

class Stone(object):

    pass

def run_twice(anmial:Animal): #指定参数类型为Animal

    print(type(anmial))  #实际打印,会变成其他的class,而不是calss Animal

    anmial.run()

    anmial.run()

run_twice(Animal())

run_twice(Dog())

run_twice(Cat())

run_twice(Car()) #car is running...  说明动态语言的继承不严格,只要有run方法,都可以调用

run_twice(Stone())


  • 1

Reply