C# interface 接口理解
来源:百度文库 编辑:神马文学网 时间:2024/04/29 02:23:57
C# interface 接口理解
针对接口编程能帮助达到面向对象开发和设计中"低耦合"的要求.
举个例子:某公司有一台特殊打印机,还可以使用一年,一年后可能换为另一种打印机,这两种打印机都特殊而贵.所以现在的程序希望换了打印机后也少量修改就可用.
方法:
1,定义一个打印机接口.
2,定义打印机类A,B,分别实现此接口.
3,定义一个工厂类,在类中可选择返回由A实现的接口,或者由B实现的接口.
4,在程序中使用打印机时,就可以使用工厂类来调用打印机,而不需要知道具体的是什么打印机.
如果打印机换了,只需要修改工厂类就行了.如果有一千个地方都调用过打印机,就不需要一个一个修改.修改一个地方就行了.接口充当一个隔离层的作用.
//定义打印机接口
interface Iprint
{
bool PrintData(string data);
}
//定义打印机类A,实现接口,(继承)
class PrintA:Iprint
{
public virtual bool PrintData(string data)
{
//具体业务逻辑略
}
}
定义打印机类B,实现接口,(继承)
class PrintB:Iprint
{
public virtual bool PrintData(string data)
{
//具体业务逻辑略
}
}
//定义工厂类
class PrintFactory{
public Iprint CreatePrint()
{
//返回一个由打机类A,或B实现的接口,比如
return new PrintA();
}
}
//通过工厂类,调用打印机
private void button1_Click(object sender,EventArgs e)
{
PrintFactory myFactory=new PrintFactory();
Iprint myPrint=myFactory.CreatePrint();
myPrint.PrintData("这样做很方便啊");
}
针对接口编程能帮助达到面向对象开发和设计中"低耦合"的要求.
举个例子:某公司有一台特殊打印机,还可以使用一年,一年后可能换为另一种打印机,这两种打印机都特殊而贵.所以现在的程序希望换了打印机后也少量修改就可用.
方法:
1,定义一个打印机接口.
2,定义打印机类A,B,分别实现此接口.
3,定义一个工厂类,在类中可选择返回由A实现的接口,或者由B实现的接口.
4,在程序中使用打印机时,就可以使用工厂类来调用打印机,而不需要知道具体的是什么打印机.
如果打印机换了,只需要修改工厂类就行了.如果有一千个地方都调用过打印机,就不需要一个一个修改.修改一个地方就行了.接口充当一个隔离层的作用.
//定义打印机接口
interface Iprint
{
bool PrintData(string data);
}
//定义打印机类A,实现接口,(继承)
class PrintA:Iprint
{
public virtual bool PrintData(string data)
{
//具体业务逻辑略
}
}
定义打印机类B,实现接口,(继承)
class PrintB:Iprint
{
public virtual bool PrintData(string data)
{
//具体业务逻辑略
}
}
//定义工厂类
class PrintFactory{
public Iprint CreatePrint()
{
//返回一个由打机类A,或B实现的接口,比如
return new PrintA();
}
}
//通过工厂类,调用打印机
private void button1_Click(object sender,EventArgs e)
{
PrintFactory myFactory=new PrintFactory();
Iprint myPrint=myFactory.CreatePrint();
myPrint.PrintData("这样做很方便啊");
}
C# interface 接口理解
深入理解abstractclass和interface
C#接口的定义
C#中的接口
C#接口的定义
java 本地接口(java native interface)
深入理解abstract class和interface
深入理解abstract class和interface
Visual C#事件与接口编程实例
java接口的理解(1)
深入理解abstract和interface--常言笑的家
c#难理解概念之一-----委托
C#中抽象类和接口的区别
C#使用COM组件接口进行串口操作
浅析C#接口之获取IP地址 - 51CTO.COM
条款19:定义并实现接口优于继承类型 - 《Effective C#中文版:改善C#程序的...
ASP.Net/C# - PayPal接口文档 - lee576的专栏 - CSDN博客
121飞信fetion发送短信的API接口使用c#的实例
C#调用VC DLL接口函数参数类型转换方法介绍 - 51CTO.COM
飞信fetion发送短信的API接口使用c#的实例4
你真的懂我吗?(谈谈C#接口)之一
Interface Dockable
Yahoo!User Interface Libray
Skinned User Interface