C# 接口学习用法
来源:互联网 发布:被淘宝举报盗图怎么办 编辑:程序博客网 时间:2024/06/10 11:12
我在项目中大量使用接口,如果是多人合作项目更是不可少,举个例子:
我要写一个打印程序,但是面临的问题是必须使用不同的打印机,有HP的,IBM的、Epsom的等等。但是针对每一个打印机的程序只有2个必须要用到的函数,Print(),PrintPreview(),这两个函数不同的打印机里面的具体实现代码是不一样的,但是从主程序的角度来看是无所谓的,因为主程序只是要调用一下Print和PrintPreview函数以便达到效果而以
好了,现在设计这样一个打印接口 IPrint
public interface IPrint
{
void Print();
void PrintPreview();
}
那么现在我来写一下主程序,就是调用这个接口的程序
static voic Main()
{
Console.WriteLine("Plesas select printer:");
string printerName = Console.Readline();
IPrint printer = null;
if(printerName == "HP")
{
printer = new HPPrinter();
}
else if(printerName == "IBM")
{
printer = new IBMPrinter();
}
else if(printerName == "Epsom")
{
printer = new EpsomPrinter();
}
printer.PrintPreview();
printer.Print();
}
这三个类如下:
public class HPPrint : IPrint
{
public void PrintPreview()
{
Console.WriteLine("this is HP Printer");
}
public void Print()
{
Console.WriteLine("this is HP Printer");
}
}
public class IBMPrint : IPrint
{
public void PrintPreview()
{
Console.WriteLine("this is IBM Printer");
}
public void Print()
{
Console.WriteLine("this is IBM Printer");
}
}
public class EpsomPrint : IPrint
{
public void PrintPreview()
{
Console.WriteLine("this is Epsom Printer");
}
public void Print()
{
Console.WriteLine("this is Epsom Printer");
}
}
这就是接口的作用,如果你的悟性达到一个程度,看完我的介绍,应该马上会领悟到接口的优美和其重要性
我要写一个打印程序,但是面临的问题是必须使用不同的打印机,有HP的,IBM的、Epsom的等等。但是针对每一个打印机的程序只有2个必须要用到的函数,Print(),PrintPreview(),这两个函数不同的打印机里面的具体实现代码是不一样的,但是从主程序的角度来看是无所谓的,因为主程序只是要调用一下Print和PrintPreview函数以便达到效果而以
好了,现在设计这样一个打印接口 IPrint
public interface IPrint
{
void Print();
void PrintPreview();
}
那么现在我来写一下主程序,就是调用这个接口的程序
static voic Main()
{
Console.WriteLine("Plesas select printer:");
string printerName = Console.Readline();
IPrint printer = null;
if(printerName == "HP")
{
printer = new HPPrinter();
}
else if(printerName == "IBM")
{
printer = new IBMPrinter();
}
else if(printerName == "Epsom")
{
printer = new EpsomPrinter();
}
printer.PrintPreview();
printer.Print();
}
好了,这就是主程序,你首先要选择你要用那种打印机,比如你输入"IBM",那么程序就会实例化一个IBM的打印机程序 new IBMPrinter();然后,程序执行PrintPreview()和Print()函数
OK,现在,主程序有了,那么我为了最快地完成任务,只要找到3个熟悉HP,IBM,EPSOM打印机的专业人才,分别写3个类,每个类继承IPrint接口,那么所有的任务完成了,多么优美,多么简洁漂亮。
这三个类如下:
public class HPPrint : IPrint
{
public void PrintPreview()
{
Console.WriteLine("this is HP Printer");
}
public void Print()
{
Console.WriteLine("this is HP Printer");
}
}
public class IBMPrint : IPrint
{
public void PrintPreview()
{
Console.WriteLine("this is IBM Printer");
}
public void Print()
{
Console.WriteLine("this is IBM Printer");
}
}
public class EpsomPrint : IPrint
{
public void PrintPreview()
{
Console.WriteLine("this is Epsom Printer");
}
public void Print()
{
Console.WriteLine("this is Epsom Printer");
}
}
这就是接口的作用,如果你的悟性达到一个程度,看完我的介绍,应该马上会领悟到接口的优美和其重要性
0 0
- C# 接口学习用法
- c#接口的用法
- C#接口中的属性用法
- C#学习之接口
- C#学习之接口
- C#学习之接口
- C#学习之接口
- C#学习之接口
- C#学习之接口
- C#学习之接口
- C#学习之接口
- C#接口零度学习
- C#学习之接口
- C# 接口的学习
- C#接口的学习
- C#学习之接口
- C#学习之接口
- C#学习之接口
- 网易私有云IaaS平台研发实践
- 八大排序算法学习
- Objective C Design Pattern ( 一 )
- 黑马程序员---IOS protocol
- [leetcode] Fraction to Recurring Decimal
- C# 接口学习用法
- 最简单的贪心法:硬币问题
- CCActionEase 想说爱你也不难 I
- 获取未读信息
- iOS FMDB的使用
- 你必须知道的28个HTML5特征、窍门和技术
- leetcode -- Search for a Range
- 西门子PLC学习笔记十二-(转换与比较指令)
- fastjson 使用