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

 

posted @ 2018-11-06 19:26  莱茵河的雨季  阅读(163)  评论(0编辑  收藏  举报