阅读背景:

Python面向对象编程-继承和多态、获取对象信息、实例属性和类属性

来源:互联网 

1.继承和多态

#继承和多态
#在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承
#新的class称为子类(Subclass),而被继承的class称为基类、父类或超类


class Animal(object):

    def run(self):
        print('Animal is running')


#dog 继承Animal
class Dog(Animal):
    pass

#cat 继承 Animal
class Cat(Animal):
    pass


#Dog来说,Animal就是它的父类,对于Animal来说,Dog就是它的子类
dog = Dog()
dog.run()


print('--------------------------5')


class Dog(Animal):
    def run(self):
        print('Dog is running')

    def eat(self):
        print('eating meat')

class Cat(Animal):
    def run(self):
        print('Cat is running')

    def eat(self):
        print('eating fish')



dog = Dog()
dog.run()
dog.eat()
print('--------------------------6')
cat = Cat()
cat.run()
cat.eat()


#当子类和父类都存在相同的run()方法时,我们说,子类的run()覆盖了父类的run(),在代码运行的时候,总是会调用子类的run()
#这样,我们就获得了继承的另一个好处:多态。

a = list() # a是list类型

b = Animal() # b是Animal类型

c = Dog() # c是Dog类型

print('--------------------------7')

#判断一个变量是否是某个类型可以用isinstance()判断:
isinstance(a,list)
print(isinstance(a,list))

isinstance(b,Animal)
print(isinstance(b,Animal))

isinstance(c,Dog)
print(isinstance(c,Dog))

isinstance(c,Animal)
print(isinstance(c,Animal))


print('--------------------------8')
#继承和多态
#在OOP程序设计中,当我们定义一个class的时候,可以从



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: