• 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)
  • 相关阅读:
    VIJOS-P1340 拯救ice-cream(广搜+优先级队列)
    uva 11754 Code Feat
    uva11426 GCD Extreme(II)
    uvalive 4119 Always an Interger
    POJ 1442 Black Box 优先队列
    2014上海网络赛 HDU 5053 the Sum of Cube
    uvalive 4795 Paperweight
    uvalive 4589 Asteroids
    uvalive 4973 Ardenia
    DP——数字游戏
  • 原文地址:https://www.cnblogs.com/stin/p/8311652.html
Copyright © 2020-2023  润新知