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

    1. python中没有接口类型
    2. 抽象类的本质还是类,指的是一组类的相似性,包括数据属性(如all_type)和函数属性(如read、write),而接口只强调函数属性的相似性。抽象类是一个介于类和接口直接的一个概念,同时具备类和接口的部分特性,可以用来实现归一化设计 
    3. 在Python3中引入了abc模块,通过@abc.abstractmethod可以更加简洁地使用抽象类,抽象方法。
    4. 抽象类的方法必须在子类中实现
      import abc
      
      
      class CopyBase(metaclass=abc.ABCMeta):
          @abc.abstractmethod
          def save(self):
              pass
      
      
      class CopyPaper(CopyBase):
          def __init__(self):
              pass
      
          def save(self):
              print("copy paper")
      
      
      class CopyQuestion(CopyBase):
          def __init__(self):
              pass
      
      
      copy_paper = CopyPaper()
      copy_paper.save()
      copy_question = CopyQuestion()
      copy_question.save()
      
      
      result:
      copy paper
      Traceback (most recent call last):
          copy_question = CopyQuestion()
      TypeError: Can't instantiate abstract class CopyQuestion with abstract methods save
  • 相关阅读:
    MySQl数据约束练习
    MySQL查询实例
    网络通信协议简介(TCP与UDP)
    数据类型转换
    C++编译过的C代码为什么要用extern C
    hashtable
    以RB-tree为底层机制的几个关联式容器
    红黑树(RB-Tree)
    slist
    deque
  • 原文地址:https://www.cnblogs.com/ybl20000418/p/11494446.html
Copyright © 2011-2022 走看看