ASP.NET网页设计口语C#:接口仓酷云
也不知道,我同学昨天说数据挖掘很好。系列文章索引:《口语C#》接口是表现面向对象编程头脑优胜性的一件利器,为何这么说呢?起首我们来看,接口是为承继而存在的,假如没有承继,那就天然不必要接口了,既然有承继,那就必要把大概被多个类所承继的一些大众部分笼统出来,接口封装的就是这些大众的举动标准(办法界说),类能够经由过程承继多个接口来丰厚本人的举动机制,可是在C#中,类是不成以承继多个类的。C#最明显的特性就是极年夜地进步了程序的开辟效力和保护效力,以是关于承继多个类这类简单引发二义性的机制是切齿腐心的。
我们都是由先生时期一起走过去的,以是我想借用先生时期的那些举动标准来作为实际生存中的接口的例子。
读小学的时分,我们最少会有两套举动标准:小先生举动标准和少先队员举动标准。起首我们都得恪守小先生举动标准,其次假如是少先队员,就还得恪守少先队员举动标准。我们关于这两套举动标准不枚举太多细节划定规矩,每套一条就够了,起首,作为少先队员,过马路时要先看红绿灯:
1:interfaceIPupilRule2:{3:voidCrossTheRoad(inttrafficLightIndex);4:}在IPupileRule中,我们界说了“过马路看红绿灯”如许的举动标准,它实在就是一个函数声明,界说了函数名、前往值范例和参数范例等信息,可是并没有函数体。对,接口中只能有函数界说如许的引导性准绳,不同意存在函数体,至于详细的完成细节,那就“详细成绩详细剖析”吧。接上去我们再来界说少先队员举动标准,也不枚举太多细则,一条足矣,少先队员不克不及吸烟:
1:interfaceIYoungPioneerRule2:{3:voidNoSmoke();4:}一样的,只要函数声明没有完成细节,由于举动守则如许的工具只能告知你作为一位光彩的少先队员是相对不克不及吸烟的,它不会也不克不及八面玲珑地告知你假设你叔叔阿姨给你递烟应当怎样回绝,假设你爸爸教你吸烟应当怎样回绝,别的假设那些停学的坏孩子强制你吸烟又该怎样对抗等等。空话未几说,不然真成了“供应函数体的接口”了。
既然接口是不供应函数完成细节的,那末当一个小先生必要横过马路的时分,就只能靠他本人来完成详细的逻辑完成了:
1:publicclassPupil:IPupilRule2:{2:{02:{12:{22:{32:{42:{52:{62:{72:{82:{93:voidCrossTheRoad(inttrafficLightIndex);03:voidCrossTheRoad(inttrafficLightIndex);13:voidCrossTheRoad(inttrafficLightIndex);23:voidCrossTheRoad(inttrafficLightIndex);33:voidCrossTheRoad(inttrafficLightIndex);43:voidCrossTheRoad(inttrafficLightIndex);53:voidCrossTheRoad(inttrafficLightIndex);63:voidCrossTheRoad(inttrafficLightIndex);73:voidCrossTheRoad(inttrafficLightIndex);8接上去,少先队员进场了。起首我们来剖析一下这个场景,少先队员是必要恪守少先队员举动标准的小先生。因而可知,少先队员必要完成后面提到的两种举动标准中的一切划定,这也就表现了接口的优点,能够完成多重承继。固然,在本文所用的例子傍边,少先队员年夜可不用从头承继并完成IPupilRule接口了,他既然是一位小先生,那就能够承继Pupil这个类,并且他其实不必要改动Pupil中对小先生举动标准的详细完成细节,他只必要本人完成少先队员举动标准中的划定就好了。
3:voidCrossTheRoad(inttrafficLightIndex);92:{2:{04:}22:{24:}44:}54:}64:}74:}8别的,接口也是能够承继接口的,而且能够多重承继。我们假定有一个朝阳小学,这个黉舍另有本人的校规,校规内容未几,次要是请求先生要严厉恪守小先生举动标准和少先队员举动标准,而且都要会唱校歌。
4:}92:{1:interfaceIYoungPioneerRule14:}因而这套校规编写起来倒不贫苦,承继了两套现成的举动标准而且增添一点儿本人的请求就好了。朝阳小学的每位先生都得恪守这套校规:
1:interfaceIYoungPioneerRule32:{1:interfaceIYoungPioneerRule51:interfaceIYoungPioneerRule61:interfaceIYoungPioneerRule71:interfaceIYoungPioneerRule81:interfaceIYoungPioneerRule92:{02:{12:{22:{32:{42:{52:{62:{72:{82:{9经由过程下面的先容,您也许已对怎样利用接口有了一些开端的熟悉,劈面对实践成绩的时分,只需公道地剖析和计划,接口必定会为我们的开辟事情带来很年夜的便当!
来自:接口
中间码是基于一个虚拟机器。源代码是最高层的,理论上从源代码开始直接编译成本地码能提供最大优化的。而中间码只能是转译成本地码,效率上难免受到损耗。根据虚拟机器所设定的体系结构的特点,和本地机器的差异的多少。 JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。 众所周知,Windows以易用而出名,也因此占据不少的服务器市场。 那么,ASP.Net有哪些改进呢? Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。 ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。 可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。 PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。 由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。
页:
[1]