C#接口范例
1
namespace ConsoleApplication1
2
{
3
class Program
4
{
5
static void Main(string[] args)
6
{
7
USB usb;
8
usb = new UDisk();//插入U盘
9
usb.OutputFile();//从U盘读出文件
10
usb.InputFile();//往U盘写入文件
11
usb.Dispose();//拔出U盘
12
Console.WriteLine("");
13
usb = new MDisk();//插入移动硬盘
14
usb.OutputFile();//从移动硬盘读出文件
15
usb.InputFile();//往移动硬盘写入文件
16
usb.Dispose();//拔出移动硬盘
17
Console.WriteLine("");
18
usb = new MP4();//插入MP4
19
usb.OutputFile();//从MP4读出文件
20
usb.InputFile();//往MP4写入文件
21
usb.Dispose();//拔出MP4
22
Console.ReadKey();
23
}
24
25
//USB接口
26
public interface USB : IDisposable
27
{
28
void OutputFile();//读出文件
29
void InputFile();//写入文件
30
}
31
32
//U盘
33
public class UDisk : USB
34
{
35
public UDisk()
36
{
37
Console.WriteLine("U盘准备就绪
");
38
}
39
public void OutputFile()
40
{
41
Console.WriteLine("从U盘读出文件");
42
}
43
public void InputFile()
44
{
45
Console.WriteLine("往U盘写入文件");
46
}
47
public void Dispose()
48
{
49
Console.WriteLine("U盘已被拔出");
50
}
51
}
52
53
//移动硬盘
54
public class MDisk : USB
55
{
56
public MDisk()
57
{
58
Console.WriteLine("移动硬盘准备就绪
");
59
}
60
public void OutputFile()
61
{
62
Console.WriteLine("从移动硬盘读出文件");
63
}
64
public void InputFile()
65
{
66
Console.WriteLine("往移动硬盘写入文件");
67
}
68
public void Dispose()
69
{
70
Console.WriteLine("移动硬盘已被拔出");
71
}
72
}
73
74
//MP4
75
public class MP4 : USB
76
{
77
public MP4()
78
{
79
Console.WriteLine("MP4准备就绪
");
80
}
81
public void OutputFile()
82
{
83
Console.WriteLine("从MP4读出文件");
84
}
85
public void InputFile()
86
{
87
Console.WriteLine("往MP4写入文件");
88
}
89
public void Dispose()
90
{
91
Console.WriteLine("MP4已被拔出");
92
}
93
}
94
}
95
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37


38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58


59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79


80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

------------------------------------------------
dnawo:天才在于勤奋,知识在于积累!
分类:
ASP.NET
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库