zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    js在线压缩网址
    java 排序
    java访问权限(子类继承父类的方法)
    重庆大学第八届编程大赛初赛1、2题目
    重庆大学oj系统——习题
    种花问题(Can Place Flowers)——两朵花不能相邻
    TFIDF计算
    python自定义聚合函数,merge与transform的区别
    AFM模型 pytorch示例代码
    python计算信息增益
  • 原文地址:https://www.cnblogs.com/stin/p/8311652.html
Copyright © 2011-2022 走看看