ASP.NET网页编程之基于C#的接口基本教程之四
我觉得很重要,一般所说的不重要应该指的是:你学好一种以后再学另一种就很容易了。(因为这样大家可能有一个错觉就是语言不是很重要,只要随便学一种就可以了,其实不是这样的。 第四节、会见接口对接口成员的会见
对接口办法的挪用和接纳索引唆使器会见的划定规矩与类中的情形也是不异的。假如底层成员的定名与承继而来的高层成员分歧,那末底层成员将掩盖同名的高层成员。但因为接口撑持多承继,在多承继中,假如两个父接口含有同名的成员,这就发生了二义性(这也恰是C#中作废了类的多承继机制的缘故原由之一),这时候必要举行显式的界说:
usingSystem;
interfaceISequence{
intCount{get;set;}
}
interfaceIRing{
voidCount(inti);
}
interfaceIRingSequence:ISequence,IRing{}
classCTest{
voidTest(IRingSequencers){
//rs.Count(1);毛病,Count有二义性
//rs.Count=1;毛病,Count有二义性
((ISequence)rs).Count=1;//准确
((IRing)rs).Count(1);//准确挪用IRing.Count
}
}
下面的例子中,前两条语句rs.Count(1)和rs.Count=1会发生二义性,从而招致编译时毛病,因而必需显式地给rs指派父接口范例,这类指派在运转时不会带来分外的开支。
再看上面的例子:
usingSystem;
interfaceIInteger{
voidAdd(inti);
}
interfaceIDouble{
voidAdd(doubled);
}
interfaceINumber:IInteger,IDouble{}
classCMyTest{
voidTest(INumberNum){
//Num.Add(1);毛病
Num.Add(1.0);//准确
((IInteger)n).Add(1);//准确
((IDouble)n).Add(1);//准确
}
}
挪用Num.Add(1)会招致二义性,由于候选的重载办法的参数范例均合用。可是,挪用Num.Add(1.0)是同意的,由于1.0是浮点数参数范例与办法IInteger.Add()的参数范例纷歧致,这时候只要IDouble.Add才是合用的。不外只需到场了显式的指派,就决不会发生二义性。
接口的多重承继的成绩也会带来成员会见上的成绩。比方:
interfaceIBase{
voidFWay(inti);
}
interfaceILeft:IBase{
newvoidFWay(inti);
}
interfaceIRight:IBase
{voidG();}
interfaceIDerived:ILeft,IRight{}
classCTest{
voidTest(IDerivedd){
d.FWay(1);//挪用ILeft.FWay
((IBase)d).FWay(1);//挪用IBase.FWay
((ILeft)d).FWay(1);//挪用ILeft.FWay
((IRight)d).FWay(1);//挪用IBase.FWay
}
}
共3页:上一页1下一页
如果需要重新编写代码,几乎任何一门计算机语言都可以跨平台了,还用得着Java嘛,而且像PHP/C#等语言不需要修改代码都可以跨Windows/Linux。 主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。 比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。 ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。 由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。 JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。 Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。 主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。 HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
页:
[1]