点我

继承

当定义一个class时,可以从某个现有的的class继承
新的class称为子类(Subclass)
被继承的class称为基类、父类或超类(Base class、Super class)

定义:

class 类名(父类,没有则写object):
注意:object类是所有类最终都会继承的类

1、子类获得了父类的全部功能
2、子类可增加新的方法
3、子类可覆盖父类中的方法

多态

函数:一个变量是否是某个类型可以用isinstance()
多态指的是一类事物有多种形态,
比如动物类,可以有猫,狗,猪等等。
(一个抽象类有多个子类,因而多态的概念依赖于继承)

多态性是指具有不同功能的函数可以使用相同的函数名

好处:

1、增加程序的灵活性
2、增加程序的可扩展性
 一个接口,多种实现
#定义animal父类
class Animal(object):
    def run(self):
        print("Animal is running")

#定义dog类,继承与animal父类
class Dog(Animal):
    def eat(self):
        print('我吃肉')

#定义cat类,继承与animal父类
class Cat(Animal):
    def run(self):
        print("cat is running")

#创建Dog的实例
dog = Dog()
dog.run()
dog.eat()

#创建Cat的实例
cat = Cat()
cat.run()

# 子类的run()
# 覆盖了父类的run(),
# 在代码运行的时候,总是会调用子类的run()

a = Animal()
print(isinstance(a,Dog))
分类: Python

评论

-- 评论已关闭 --

目录