·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 委托

委托

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

委托

1、接口:    接口与抽象类一样,也是表示某种规则,一旦使用了该规则,就必须实现相关的方法。对于C#语言而言,由于只能继承自一个父类,因此若有多个规则需要实现,则使用接口是个比较好的做法。 2、接口的定义interface 接口名{    方法声明;} 3、不同接口中若有多个相同名称的方法,则需要显式指定接口名,例如:                       4、接口的使用使用接口也可以实现多态。代码如下:class PRogram{    static void Main(string[] args)    {        //提供三个类,完成工资的计算        List<ICalu> list = new List<ICalu>();        list.Add(new Boss());        list.Add(new Clert());        list.Add(new Clert());        list.Add(new Customer());        foreach (ICalu emp in list)        {            emp.Calu(); //多态        }    }}class Boss : ICalu{    public  void Calu()    {        Console.WriteLine("计算老板工资");    } }class Customer : ICalu{    public  void Calu()    {        Console.WriteLine("计算客户工资");    }}class Clert : ICalu{    public  void Calu()    {        Console.WriteLine("计算职员工资");    }}interface ICalu{    void Calu();}  5、接口应用场合举例 6、接口demousing System;using System.Collections.Generic;using System.Linq; using System.Text;namespace Consoleapplication1 {    class Program     {         static void Main(string[] args)         {             List<IShow> list = new List<IShow>();             list.Add(new Map());             list.Add(new Voice());             list.Add(new Video());             list.Add(new ThreeD());            foreach(IShow ishow in list)             {                 ishow.Show();             }         }     }      interface IShow     {         void Show();     }     public class Map:IShow     {         public void Show()         {             Console.WriteLine("显示图片");         }    }     public class Voice : IShow     {         public void Show()         {             Console.WriteLine("播放声音");         }    }     public class Video : IShow     {         public void Show()         {             Console.WriteLine("显示视频");         }     }     public class ThreeD : IShow     {         public void Show()         {             Console.WriteLine("3D交互");         }    }} 

using System;

using System.Collections.Generic;

using System.Linq; using System.Text;

namespace ConsoleApplication2 {

public delegate void Mydel();

class Program {

static void Main(string[] args) {

Hospital h = new Hospital();

People LaoWang = new People();

LaoWang.OnEatTooMuch += new Mydel(h.Check);

LaoWang.Eat(10); }

}

class People {

public event Mydel OnEatTooMuch;

public void Eat(int i) {

if(i<3) {

Console.WriteLine("吃的太少"); }

else if(i==3) { Console.WriteLine("吃的正好"); }

else if (i <=5) { Console.WriteLine("吃的多了点"); }

else { if(OnEatTooMuch!=null)

{

OnEatTooMuch(); }

}

}

}

class Hospital {

public void Check() { Console.WriteLine("治疗"); }

}

}