|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在经过全球个人PC市场占有90%的微软对asp.net不断优化与整合后,asp.net与微软自身平台的动用上更加的高效,加上asp.net在应用上非常容易上手,相信asp.net仍会是最多客户选用的脚本语言,并会在未来几年继续领跑。标准|接口一个接口界说一个协议。完成接口的类或布局必需恪守其协议。接口能够包括办法、属性、索引器和事务作为成员。
示例
interfaceIExample
{
stringthis[intindex]{get;set;}
eventEventHandlerE;
voidF(intvalue);
stringP{get;set;}
}
publicdelegatevoidEventHandler(objectsender,EventArgse);
显现了一个包括索引器、事务E、办法F和属性P的接口。
接口可使用多重承继。鄙人面的示例中,
interfaceIControl
{
voidPaint();
}
interfaceITextBox:IControl
{
voidSetText(stringtext);
}
interfaceIListBox:IControl
{
voidSetItems(string[]items);
}
interfaceIComboBox:ITextBox,IListBox{}
接口IComboBox同时从ITextBox和IListBox承继。
类和布局能够完成多个接口。鄙人面的示例中,
interfaceIDataBound
{
voidBind(Binderb);
}
publicclassEditBox:Control,IControl,IDataBound
{
publicvoidPaint(){...}
publicvoidBind(Binderb){...}
}
类EditBox从类Control派生,而且同时完成IControl和IDataBound。
在后面的示例中,IControl接口中的Paint办法和IDataBound接口中的Bind办法是利用EditBox类的大众成员完成的。C#供应了另外一种体例来完成这些办法,使得完成类制止将这些成员设置成大众的。这就是:接口成员能够用限制名来完成。比方,在EditBox类中将Paint办法定名为IControl.Paint,将Bind办法定名为IDataBound.Bind办法。
publicclassEditBox:IControl,IDataBound
{
voidIControl.Paint(){...}
voidIDataBound.Bind(Binderb){...}
}
用这类体例完成的接口成员称为显式接口成员,这是由于每一个成员都显式地指定要完成的接口成员。显式接口成员只能经由过程接口来挪用。比方,在EditBox中完成的Paint办法只能经由过程强迫转换为IControl接口来挪用。
classTest
{
staticvoidMain(){
EditBoxeditbox=newEditBox();
editbox.Paint();//error:nosuchmethod
IControlcontrol=editbox;
control.Paint();//callsEditBoxsPaintimplementation
}
}
java的设计机制:首先产生一个中间码,第二部编译为本地(机器)码。这个机制有很大的缺点。 |
|