从概念上看,接口只是定义了一种规范。凡是继承该接口的类都必须实现接口中的方法。仅仅而已?
例如:public interface iterf1
{
string a(string b);
}public class class1:interf1 //这里只要继承了inter1,如果不实现a的方法就报错
{
public string a(string a)
{
return a;
}}在.cs文件中
class1 c1=new class1();
c1.a("111");
仅此而已嘛?????????另外一种用法
public class class1:interf1 //这里只要继承了inter1,如果不实现a的方法就报错
{
public string a(string a)
{
return a;
}}public class class2:interf1 //这里只要继承了inter1,如果不实现a的方法就报错
{
public string a(string a)
{
return a;
}}public class class3
{
public a(interf1 if1)
{ if1.a()
}}在.cs文件中
class1 c1=new class1();
class2 c2=new class2();
class3 c3=new class3();c3.a(c1);
c3.a(c2);仅此而已,还有其他用途吗?
例如:public interface iterf1
{
string a(string b);
}public class class1:interf1 //这里只要继承了inter1,如果不实现a的方法就报错
{
public string a(string a)
{
return a;
}}在.cs文件中
class1 c1=new class1();
c1.a("111");
仅此而已嘛?????????另外一种用法
public class class1:interf1 //这里只要继承了inter1,如果不实现a的方法就报错
{
public string a(string a)
{
return a;
}}public class class2:interf1 //这里只要继承了inter1,如果不实现a的方法就报错
{
public string a(string a)
{
return a;
}}public class class3
{
public a(interf1 if1)
{ if1.a()
}}在.cs文件中
class1 c1=new class1();
class2 c2=new class2();
class3 c3=new class3();c3.a(c1);
c3.a(c2);仅此而已,还有其他用途吗?
对于实现 IADO的FirstClass和SecondClass而言,当你的程序中式如下应用的
IADO dealer = new FistClass();
dealer.Function1();
dealer.Function2();
如果这时你想用SecondClass中的相关的方法,那么只要该一句就可以了
也就是
IADO dealer = new SecondClass();
如果不是用接口,那好你的任务可多了,虽然应用类的继承 也可以实现类似接口的功能,但是接口的功能 更加的灵活
当一个项目几百上千和方法怎么搞,定义好后,前台做WEB的和后台搞数据的存储的可以分开同时进行,都按照这个规范定义就行了
关于委托与事件去看看这个人写的文章。个人觉得写得蛮不错的。