python之继承、抽象类、派生、多态、组合、封装

 

1、继承概念的实现方式主要有2类:实现继承、接口继承。

Ø         实现继承是指使用基类的属性和方法而无需额外编码的能力;
Ø         接口继承是指仅使用属性和方法的名称、子类必须提供实现的能力(子类重构爹类方法);
父类是抽象类,仅定义将由子类创建的一般属性和方法。
 
2、抽象类
同java里的接口定义,父类不实现任何功能
import abc
class Animal:
    @abc.abstractmethod
    def run(self):
        pass
    @abc.abstractmethod
    def eat(self):
        pass

class People(Animal):
    def run(self):
        print('people is walking')
    def eat(self):
        print('people is eating')
 
 3、派生

  除了继承父类的,还要派生属于自己的属性

 

4、多态是为了实现接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中不同的实例(如People,Pig)的某一属性时的正确调用。
 
 5、组合  

对象作为另一个对象的属性,如 teacher1.course = python 其中python是个课程对象

 

6、封装

加__变形后实现隐藏,意义是隔离复杂性,特性如下

  1、在类外部无法直接obj.__AttrName

  2、在类内部直接obj.__AttrName

  3、子类无法覆盖父类__开头的属性

class A:
    __x = 1

    def __init__(self,name):
        self.__name = name

    def __foo(self):
        print('run foo')
        print(self.__x)

a = A('egon')
a._A__foo()
print(a._A__x)
原文地址:https://www.cnblogs.com/stin/p/8311652.html