|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
也不知道,我同学昨天说数据挖掘很好。系列文章索引:《口语C#》
接口是表现面向对象编程头脑优胜性的一件利器,为何这么说呢?起首我们来看,接口是为承继而存在的,假如没有承继,那就天然不必要接口了,既然有承继,那就必要把大概被多个类所承继的一些大众部分笼统出来,接口封装的就是这些大众的举动标准(办法界说),类能够经由过程承继多个接口来丰厚本人的举动机制,可是在C#中,类是不成以承继多个类的。C#最明显的特性就是极年夜地进步了程序的开辟效力和保护效力,以是关于承继多个类这类简单引发二义性的机制是切齿腐心的。
我们都是由先生时期一起走过去的,以是我想借用先生时期的那些举动标准来作为实际生存中的接口的例子。
读小学的时分,我们最少会有两套举动标准:小先生举动标准和少先队员举动标准。起首我们都得恪守小先生举动标准,其次假如是少先队员,就还得恪守少先队员举动标准。我们关于这两套举动标准不枚举太多细节划定规矩,每套一条就够了,起首,作为少先队员,过马路时要先看红绿灯:- 3:voidCrossTheRoad(inttrafficLightIndex);
复制代码 在IPupileRule中,我们界说了“过马路看红绿灯”如许的举动标准,它实在就是一个函数声明,界说了函数名、前往值范例和参数范例等信息,可是并没有函数体。对,接口中只能有函数界说如许的引导性准绳,不同意存在函数体,至于详细的完成细节,那就“详细成绩详细剖析”吧。接上去我们再来界说少先队员举动标准,也不枚举太多细则,一条足矣,少先队员不克不及吸烟:- 1:interfaceIYoungPioneerRule
复制代码 一样的,只要函数声明没有完成细节,由于举动守则如许的工具只能告知你作为一位光彩的少先队员是相对不克不及吸烟的,它不会也不克不及八面玲珑地告知你假设你叔叔阿姨给你递烟应当怎样回绝,假设你爸爸教你吸烟应当怎样回绝,别的假设那些停学的坏孩子强制你吸烟又该怎样对抗等等。空话未几说,不然真成了“供应函数体的接口”了。
既然接口是不供应函数完成细节的,那末当一个小先生必要横过马路的时分,就只能靠他本人来完成详细的逻辑完成了:- 1:publicclassPupil:IPupilRule
复制代码- 3:voidCrossTheRoad(inttrafficLightIndex);0
复制代码- 3:voidCrossTheRoad(inttrafficLightIndex);1
复制代码- 3:voidCrossTheRoad(inttrafficLightIndex);2
复制代码- 3:voidCrossTheRoad(inttrafficLightIndex);3
复制代码- 3:voidCrossTheRoad(inttrafficLightIndex);4
复制代码- 3:voidCrossTheRoad(inttrafficLightIndex);5
复制代码- 3:voidCrossTheRoad(inttrafficLightIndex);6
复制代码- 3:voidCrossTheRoad(inttrafficLightIndex);7
复制代码- 3:voidCrossTheRoad(inttrafficLightIndex);8
复制代码 接上去,少先队员进场了。起首我们来剖析一下这个场景,少先队员是必要恪守少先队员举动标准的小先生。因而可知,少先队员必要完成后面提到的两种举动标准中的一切划定,这也就表现了接口的优点,能够完成多重承继。固然,在本文所用的例子傍边,少先队员年夜可不用从头承继并完成IPupilRule接口了,他既然是一位小先生,那就能够承继Pupil这个类,并且他其实不必要改动Pupil中对小先生举动标准的详细完成细节,他只必要本人完成少先队员举动标准中的划定就好了。- 3:voidCrossTheRoad(inttrafficLightIndex);9
复制代码 别的,接口也是能够承继接口的,而且能够多重承继。我们假定有一个朝阳小学,这个黉舍另有本人的校规,校规内容未几,次要是请求先生要严厉恪守小先生举动标准和少先队员举动标准,而且都要会唱校歌。- 1:interfaceIYoungPioneerRule1
复制代码 因而这套校规编写起来倒不贫苦,承继了两套现成的举动标准而且增添一点儿本人的请求就好了。朝阳小学的每位先生都得恪守这套校规:- 1:interfaceIYoungPioneerRule3
复制代码- 1:interfaceIYoungPioneerRule5
复制代码- 1:interfaceIYoungPioneerRule6
复制代码- 1:interfaceIYoungPioneerRule7
复制代码- 1:interfaceIYoungPioneerRule8
复制代码- 1:interfaceIYoungPioneerRule9
复制代码 经由过程下面的先容,您也许已对怎样利用接口有了一些开端的熟悉,劈面对实践成绩的时分,只需公道地剖析和计划,接口必定会为我们的开辟事情带来很年夜的便当!
来自:接口
中间码是基于一个虚拟机器。源代码是最高层的,理论上从源代码开始直接编译成本地码能提供最大优化的。而中间码只能是转译成本地码,效率上难免受到损耗。根据虚拟机器所设定的体系结构的特点,和本地机器的差异的多少。 |
|