C#超基础:接口

来源:互联网 发布:linux下lamp环境搭建 编辑:程序博客网 时间:2024/05/21 09:58

1.什么是C#接口

1)一个C#接口是一些方法特征的集合,但没有方法的实现

public interface PCI {  

    void start(); 
    void stop();

}

2)C#接口中定义的方法在不同的地方被实现,可以具有完全不同的行为

class SoundCard : PCI {
   public void start() 

 {      

 Console.WriteLine("Du du...");  

  }  

  public void stop() 

 {    

   Console.WriteLine("Sound stop!");  

 }

}


class NetworkCard : PCI {
   public void start() 

 {    

   Console.WriteLine("Send...");  

  }  

  public void stop()

  {    

   Console.WriteLine("Network stop!");  

  }

}

2.如何使用C#接口

可以使用C#接口标识类型
运行时,根据实际创建的对象类型调用相应的方法实现

public class Assembler {  

     public static void main(String[] args)   

     {       

       PCI nc = new NetworkCard();      

       PCI sc = new SoundCard();    

        nc.start();
        sc.start();
       }

}

3.为什么需要C#接口?

1)C#语言中实现面向对象的继承关系,一个类只能有一个父类,也就是说C#是单继承。

2)C#语言引入接口(Interface)概念,并规定“一个类可以实现多个 接口”。


4.接口的特性

1)接口也是抽象类,而且是更纯粹的抽象类,因为接口中的所有方法都必须是抽象方法
2)接口中不允许包含字段。
3)接口中所有成员默认都是public,并且不允许加访问修饰符。
4)实现类实现接口的方法时,不需要标注override关键字。
5)接口自身也可以从多个接口继承。
6)DotNet约定,定义接口时,以 I 作为接口名称前缀,如IFly 或 IList等。


5.简单实例:

public interface Ieat    {        void eat();    }    public interface Igo    {        void go();    }    public interface Isleep    {        void sleep();    }    class Animals:Ieat,Igo,Isleep    {        public static int weight = 100;        public void eat()        {            weight+= 10;                  }        public void go()        {            weight -= 10;                   }        public void sleep()        {            Console.WriteLine("I am sleeping!");        }    }    class Program    {        static void Main(string[] args)        {            Animals animal=new Animals();            animal.eat();            Console.WriteLine(Animals.weight);            animal.go();            animal.go();            Console.WriteLine(Animals.weight);            animal.sleep();                    }    }}






0 0
原创粉丝点击