C#中接口(interface)的理解

C#中的接口
1.都是“虚的”不能被实例化,这也是接口中为什么不能包含字段--成员变量的原因2.正因为接口是虚的,所以接口内的索引,属性,时间等只能有声明,而不能在接口内实现,具体如何实现是派生接口或者派生类的事.
3.都具有模板的性质,如果一个接口或者类从某一个接口继承,它将自动具有被集成者的特征(包括索引,属性,函数,实践等).
4.接口支持多重继承,而C#中,类之支持单一继承,接口实际表示的是一种承载能力,
下面是接口的一个简单定义:

None.gif interface
None.gifSampInterface1
ExpandedBlockStart.gifContractedBlock.gif
dot.gif {
InBlock.gif    
string 
InBlock.gif    
thisint index]
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
get;
InBlock.gif        
set
ExpandedSubBlockEnd.gif    }

InBlock.gif    ;
InBlock.gif    
event EventHandler Event;
InBlock.gif    
void  Find( int value );
InBlock.gif    
//注意此处没有
ExpandedSubBlockStart.gifContractedSubBlock.gif
    dot.gif{
ExpandedSubBlockEnd.gif    }

InBlock.gif    
InBlock.gif    
string Po
InBlock.gif    
int
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif{
InBlock.gif        
get;
InBlock.gif        
set
ExpandedSubBlockEnd.gif    }

InBlock.gif    ;
ExpandedBlockEnd.gif}

上面的接口定义了一个索引
this,一个实践Event,一个方法Find和一个属性Point.

ExpandedBlockStart.gif ContractedBlock.gif public   interface  SampIneterface:SampIneterface1 dot.gif
InBlock.gifpravite  
int a=1;
InBlock.gif
void find (int value)
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gifa
+=value;
ExpandedSubBlockEnd.gif}

InBlock.gif
event EventHandler Event;
InBlock.gif
protected void onEvent()
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{
InBlock.gif
if(Event=null)
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif{return Event(this.System.EventAgrs.Empty;)}
ExpandedSubBlockEnd.gif}

InBlock.gif
ExpandedBlockEnd.gif}

转载于:https://www.cnblogs.com/yunfeng8967/articles/1114733.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值