青软实训.Net学习笔记(3)--接口

本文深入探讨了接口在C#中的概念、特点及其使用方法,包括接口的定义、实现、事件、属性等高级特性,以及如何通过接口进行类型判断与命名冲突解决。通过实例演示了接口在实际编程中的应用,旨在帮助开发者更熟练地运用接口提升代码的灵活性与复用性。

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

1、接口就是一组抽象成员的集合。
2、一个类(或者一个结构)可以支持任意数量的接口,因此也就支持了多种行为。
3、最佳实践:.NET接口多以大写字母“I”作为前缀。
4、接口不指定基类,即使是System.Object也不行,然而,接口可以指定基接口。
当我们定义接口成员时,不需要为这个成员定义实现作用域;接口是纯粹的协议,因此也不会定义实现(留给支持的类或结构)


example:   public interface IPointy
{
//隐式公共和抽象的
byte GetNumberOfPoints();
}
5、接口类型可以包含事件(event),以及索引器定义和属性协议。
6、实现接口是一个“要么全要,要么全不用”的命题。及支持类型必须实现接口中定义的所有成员。
7、所提供的接口成员不能是显示实现的。
8、在运行时判断一个类型是否支持一个指定接口:
   (1):使用显示强制转换
    example:  static void Main(string[] args)
                       {
                            Circle c=new Circle("Lisa");
                            IPointy itfpt=null;
                            try
                            {
                                  itfpt=(IPointy)c;
                                  Console.WriteLine(itfpt.Points);
                             }
                             catch(exception e)
                             {
                                      Console.WriteLine(e.Message);                 
                             }
                       }
    (2):使用as关键字
  example: static  void Main(string[] args)
                      {
                               Hexagon hex2=new Hexagon("Peter");
                              IPointy itfpt2=hex2 as IPointy;
                              if(itfpt2!=null)
                                       Console.WriteLine(itfpt2.Points);
                               else
                                       Console.WriteLine("not Points");
                       }
    (3):使用is关键字
9、接口是有效的.NET类型,可以构造将接口作为参数的方法。同样,接口也可以被用来作为方法的返回值。
10、通过显式接口实现 解决命名冲突
   returnType InterfaceName.MethodName(params)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值