C#超基础:接口

本文介绍了C#中的接口概念,包括接口的定义、使用方法、为何需要接口及其特性。通过实例展示了如何创建和实现接口,以及接口在单继承语境下的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();

            
        }
    }
}








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值