zoukankan      html  css  js  c++  java
  • 抽象类

    1.什么是接口

      接口是给使用者来调用自己功能的一种方式

    2. 为何要用接口

      接口提供了一些共有的函数,可以把接口当做一个函数的集合

    然后让子类去实现接口中的函数。

    这么做的意义在于归一化,什么叫归一化,就是只要是基于同一个接口实现的类,那么所有的这些类产生的对象在使用时,从用法上来说都一样。

    归一化的好处在于:

    1. 归一化让使用者无需关心对象的类是什么,只需要的知道这些对象都具备某些功能就可以了,这极大地降低了使用者的使用难度。
    2. 归一化使得高层的外部使用者可以不加区分的处理所有接口兼容的对象集合

    抽象类

    1 什么是抽象类

    与java一样,python也有抽象类的概念但是同样需要借助模块实现,抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化

    2 为什么要有抽象类

    如果说类是从一堆对象中抽取相同的内容而来的,那么抽象类就是从一堆类中抽取相同的内容而来的,内容包括数据属性和函数属性。

    从设计角度去看,如果类是从现实对象抽象而来的,那么抽象类就是基于类抽象而来的。

      从实现角度来看,抽象类与普通类的不同之处在于:抽象类中只能有抽象方法(没有实现功能),该类不能被实例化,只能被继承,且子类必须实现抽象方法。这一点与接口有点类似,但其实是不同的

    import abc
    class People(metaclass=abc.ABCMeta):  #使用ABC模块,定义统一化
        @abc.abstractmethod #装饰器修饰改方法在子类中必须要有
        def eat(self):
            pass
        @abc.abstractmethod
        def run(self):
            pass
    
    
    class Teacher(People):
    
        def eat(self):
            print('')
    
        def run(self):
            print('')
  • 相关阅读:
    Java 中的按值传递
    字符串排序(非字典排序)
    字符串匹配的KMP算法(转)
    效率更高的整数转化为字符串函数
    Trie 树(转)
    C 语言字符串(译)
    linux 下 epoll 编程
    CSS攻击:记录用户密码
    Wireshark(抓包神器)使用方法
    搭建KVM环境——Linux上安装KVM带web管理界面
  • 原文地址:https://www.cnblogs.com/zhengyiqun1992/p/10201839.html
Copyright © 2011-2022 走看看