1.继承:在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。子类会继承父类的所有属性和方法,也可以定义自己的属性和方法。

a.创建子类时,父类必须包含在当前文件夹中,且位于子类前面

b.在定义子类时,必须在括号内指定父类的名称

2.让一个类继承另一个类后,可以添加区分子类和父类的新的属性和方法。

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

4.将实例用作属性

class Animal:

    def __init__(self, name):
        self.__name = name
    """内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,
       就变成了一个私有变量(private),只有内部可以访问,外部不能访问"""

    def name(self, name):
        self.__name = name
        print('my name is %s' % self.__name)

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


def run_twice(animal):
    animal.run()
    animal.run()


class Action:

    def action(self):
        print('this dog is rolling')


class Dog(Animal):

    def __init__(self):
        self.age = 15
        self._action = Action()
        """将类的一部分作为一个独立的类提取出来"""
        print('this a %s years old dog' % str(self.age))

    def run(self):
        print('run!')


cat = Animal('cathy')
cat.name('cathy')

dog = Dog()

dog._action.action()
run_twice(dog)

 

posted on 2019-04-17 22:50  zhanyie  阅读(221)  评论(0)    收藏  举报