C#设计模式之使用接口的例子
2007-10-19 19:46
501 查看
所谓接口通俗点来说就是一个声明,它规定了一个类要包含的带有指定参数的一系列专门的方法,如果一个类含有这样的一些方法,我们就说这个类实现了接口.
下面是使用接口的一个例子:
第一步:先定义一个接口,如下:
public interface Multisel
{
string GetString(string s);
void SetLabelValue(Label lb);
}
第二步: //定义两个实现接口的类
public class UseMultisel1:Multisel
{
//实现接口中声明的方法的具体行为动作
public string GetString(string s) //获得字符串s的大写形式
{
return s.ToUpper();
}
public void SetLabelValue(Label lb)//为Label控件赋值
{
lb.Text="Use Multisel Sample 1";
}
}
public class UseMultisel2:Multisel
{
//实现接口中声明的方法的具体行为动作
public string GetString(string s)
{
return s.ToLower();
}
public void SetLabelValue(Label lb)
{
lb.Text="Use Multisel Sample 2";
}
}
第三步:使用接口
private void Button2_Click(object sender, System.EventArgs e)
{
UseMultisel1 use1=new UseMultisel1();
use1.SetLabelValue(lbResult1);
lbResult1.Text+=use1.GetString(txWord.Text);
UseMultisel2 use2=new UseMultisel2();
use2.SetLabelValue(lbResult2);
lbResult2.Text+=use2.GetString(txWord.Text);
}
在此拿接口跟抽象做个比较.
创建一个接口就是创建一个或者多个方法的定义,在每个实现该接口的类中必须实现这些方法的具体功能,系统不会生成任何默认的方法代码,必须自己完成实现代码,接口的优点是它提供了一种让一个类成为两个子类的方式:一个是继承,一个是来自子接口,如果实现该接口的类陋掉了一个接口方法,编译器就会产生错误.
而创建一个抽象类就是创建一个这样的基类,它可以有一个或多个完整的可以工作的方法,但至少有一个方法未实现并声明为抽象的,我们不能实例化一个抽象类,而必须从它的派生类来实例化.如果一个抽象类所有的方法都未在基类中实现,那么该抽象类本质上就是一个接口.
下面是使用接口的一个例子:
第一步:先定义一个接口,如下:
public interface Multisel
{
string GetString(string s);
void SetLabelValue(Label lb);
}
第二步: //定义两个实现接口的类
public class UseMultisel1:Multisel
{
//实现接口中声明的方法的具体行为动作
public string GetString(string s) //获得字符串s的大写形式
{
return s.ToUpper();
}
public void SetLabelValue(Label lb)//为Label控件赋值
{
lb.Text="Use Multisel Sample 1";
}
}
public class UseMultisel2:Multisel
{
//实现接口中声明的方法的具体行为动作
public string GetString(string s)
{
return s.ToLower();
}
public void SetLabelValue(Label lb)
{
lb.Text="Use Multisel Sample 2";
}
}
第三步:使用接口
private void Button2_Click(object sender, System.EventArgs e)
{
UseMultisel1 use1=new UseMultisel1();
use1.SetLabelValue(lbResult1);
lbResult1.Text+=use1.GetString(txWord.Text);
UseMultisel2 use2=new UseMultisel2();
use2.SetLabelValue(lbResult2);
lbResult2.Text+=use2.GetString(txWord.Text);
}
在此拿接口跟抽象做个比较.
创建一个接口就是创建一个或者多个方法的定义,在每个实现该接口的类中必须实现这些方法的具体功能,系统不会生成任何默认的方法代码,必须自己完成实现代码,接口的优点是它提供了一种让一个类成为两个子类的方式:一个是继承,一个是来自子接口,如果实现该接口的类陋掉了一个接口方法,编译器就会产生错误.
而创建一个抽象类就是创建一个这样的基类,它可以有一个或多个完整的可以工作的方法,但至少有一个方法未实现并声明为抽象的,我们不能实例化一个抽象类,而必须从它的派生类来实例化.如果一个抽象类所有的方法都未在基类中实现,那么该抽象类本质上就是一个接口.
相关文章推荐
- C#设计模式之 :Abstract_Factory模式(使用接口实现)
- .NET(C#) Internals: .NET Framework中已使用的设计模式
- 扩展无极限:工厂设计模式与C#扩展方法的结合使用
- [设计模式]_[中级]_[观察者模式在项目中实际使用例子]
- C#设计模式---观察者模式简单例子
- 以接口为主导的设计中, 我在使用的框架模式
- C# 设计模式之 接口隔离 原则
- 【C#中抽象类和接口的使用例子】
- 分析JDK中的Runtime的单例设计模式以及使用小例子
- 《Effective C#》读书笔记——条目23:理解接口方法和虚方法的区别<使用C#表达设计>
- c#中抽象类、接口的使用例子
- [设计模式]_[观察者模式在窗口之间消息传递的使用例子]
- [设计模式]_[中级]_[观察者模式在项目中实际使用例子]
- 使用设计模式中的工厂方法模式进行C#编程的示例讲解
- 通过例子学设计模式之--原型模式以及使用场景说明(C++实现)
- c#打包文件解压缩 C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法 一个简单例子理解C#的协变和逆变 对于过长字符串的大小比对
- c#学习笔记之九 事件(event)的使用,一个简单的例子揭示其设计理念
- C#用工厂模式、反射机制和缓存机制来设计数据访问层的接口
- 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结
- C# 通过 Observer观察者 设计模式 来理解 抽象类 和 接口 应用在什么地方