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本身就没有接口类,它就是设计模式的一种概念

  • 相关阅读:
    sqlserver 配置管理器中无法启动sqlserver服务
    9.4笔记
    ASP.NET 正则表达式验证
    ASP.NET之OnClientClick 事件
    ASP.NET之js 根据textbox变化刷新相关数据
    SQL
    leetcode:Roman to Integer(罗马数字转化为罗马数字)
    leetcode:Integer to Roman(整数转化为罗马数字)
    leetcode:Palindrome Number
    leetcode:String to Integer (atoi)
  • 原文地址:https://www.cnblogs.com/xudj/p/9917385.html
Copyright © 2011-2022 走看看