zoukankan      html  css  js  c++  java
  • Python--day25--抽象类

    什么是抽象类:

    抽象类:

     1 #一切皆文件
     2 import abc #利用abc模块实现抽象类
     3 
     4 class All_file(metaclass=abc.ABCMeta):
     5     all_type='file'
     6     @abc.abstractmethod #定义抽象方法,无需实现功能
     7     def read(self):
     8         '子类必须定义读功能'
     9         pass
    10 
    11     @abc.abstractmethod #定义抽象方法,无需实现功能
    12     def write(self):
    13         '子类必须定义写功能'
    14         pass
    15 
    16 # class Txt(All_file):
    17 #     pass
    18 #
    19 # t1=Txt() #报错,子类没有定义抽象方法
    20 
    21 class Txt(All_file): #子类继承抽象类,但是必须定义read和write方法
    22     def read(self):
    23         print('文本数据的读取方法')
    24 
    25     def write(self):
    26         print('文本数据的读取方法')
    27 
    28 class Sata(All_file): #子类继承抽象类,但是必须定义read和write方法
    29     def read(self):
    30         print('硬盘数据的读取方法')
    31 
    32     def write(self):
    33         print('硬盘数据的读取方法')
    34 
    35 class Process(All_file): #子类继承抽象类,但是必须定义read和write方法
    36     def read(self):
    37         print('进程数据的读取方法')
    38 
    39     def write(self):
    40         print('进程数据的读取方法')
    41 
    42 wenbenwenjian=Txt()
    43 
    44 yingpanwenjian=Sata()
    45 
    46 jinchengwenjian=Process()
    47 
    48 #这样大家都是被归一化了,也就是一切皆文件的思想
    49 wenbenwenjian.read()
    50 yingpanwenjian.write()
    51 jinchengwenjian.read()
    52 
    53 print(wenbenwenjian.all_type)
    54 print(yingpanwenjian.all_type)
    55 print(jinchengwenjian.all_type)

    Python本身就没有接口类,它就是设计模式的一种概念

  • 相关阅读:
    书签
    jQueryUI Plugin TableSorter的2个widget扩展
    CSS之关于clearfix--清除浮动
    C#中的is关键字原来会做null检查
    jQuery UI 控件之Slider
    延长Nodejs HTTP 的连接时长
    Nodejs的Promise库
    jQuery的选择器中的通配符
    SharePoint Server 2010 中的基本任务
    ajax浅析---ScriptManagerProxy
  • 原文地址:https://www.cnblogs.com/xudj/p/9917385.html
Copyright © 2011-2022 走看看