C#学习笔记(四)

C# 接口详解

C#学习笔记(四)


1.类和接口之比较
接口类似于纯粹的抽象类,它与类之间的差别很多。
首先(也是最主要的),接口不提供任何实现代码,这些代码是由实现接口提供的。
接口提供关于将发生的情况的规范或指南,但不提供细节。
接口不同于类,其所有的成员都被视为公有的。如果试图为接口的成员声明一个不同的作用域限定符,将出错。
接口只包含方法,属性,事件和索引器(indexer),而不包含数据成员,构造函数和析构函数,也不能
包含静态成员。


2.为何使用接口

首先,可以将接口作为一种给结构提供继承特性的途径。另外,可以在一个类中实现多个接口,从而
获得抽象类无法获得的功能。
使用接口最大的价值之一是,可以给类添加通过其他方法无法实现的特征。如果将同样的特征添加到
其他类中,便可以对其具备的功能做出假设。实际上,通过使用类,可以避免做这样的假设。
使用接口而不是类带来的另一个好处是,强制新的类实现接口定义的所有特征。如果继承带虚拟成员
的基类,则可能不为虚拟成员提供实现代码。这使得新类和使用新类的程序可能出错。

3.定义接口(其结构如下)

interface IName
{
members;
}

其中 IName 是接口的名称。可以为接口指定任何名称,但作者建议以I打头,以表明它是一个
接口,这与大多数程序员的通常做法一致。 members 是接口的成员,可以是前面指出的任何类型:
属性,事件,方法(虚拟方法)和索引器。

4.使用多个接口

要实现多个接口,需要将这些接口用逗号分开。例如,要在 Square 类中包含借口 IShape 和IShapeDisplay ,
可以使用下面的代码:

class Square : IShape, IShapeDisplay

{
.....
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值