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)
  • 相关阅读:
    linux系统 ssh免密码登录服务器主机
    QPS TPS 并发数 响应时间
    mysqlmtop开源系统监控mysql数据库性能
    jenkins 自动化构建 部署 回滚配置
    实用Linux命令记录
    关于高并发的几个基础问题
    tcp四次挥手
    时序数据异常检测相关的问题记录
    判断时序数据的周期性
    最短路径问题
  • 原文地址:https://www.cnblogs.com/stin/p/8311652.html
Copyright © 2011-2022 走看看