c#如何显式实现接口成员
本示例声明一个接口IDimensions和一个类Box,显式实现了接口成员GetLength和GetWidth。通过接口实例dimensions访问这些成员。
interfaceIDimensions
{
floatGetLength();
floatGetWidth();
}
classBox:IDimensions
{
floatlengthInches;
floatwidthInches;
Box(floatlength,floatwidth)
{
lengthInches=length;
widthInches=width;
}
//Explicitinterfacememberimplementation:
floatIDimensions.GetLength()
{
returnlengthInches;
}
//Explicitinterfacememberimplementation:
floatIDimensions.GetWidth()
{
returnwidthInches;
}
staticvoidMain()
{
//Declareaclassinstancebox1:
Boxbox1=newBox(30.0f,20.0f);
//Declareaninterfaceinstancedimensions:
IDimensionsdimensions=box1;
//Thefollowingcommentedlineswouldproducecompilation
//errorsbecausetheytrytoaccessanexplicitlyimplemented
//interfacememberfromaclassinstance:
//System.Console.WriteLine("Length:{0}",box1.GetLength());
//System.Console.WriteLine("Width:{0}",box1.GetWidth());
//Printoutthedimensionsoftheboxbycallingthemethods
//fromaninstanceoftheinterface:
System.Console.WriteLine("Length:{0}",dimensions.GetLength());
System.Console.WriteLine("Width:{0}",dimensions.GetWidth());
}
}
/*Output:
Length:30
Width:20
*/
可靠编程
- 请注意,注释掉了Main方法中以下行,因为它们将产生编译错误。显式实现的接口成员不能从类实例访问:
//System.Console.WriteLine("Length:{0}",box1.GetLength());
//System.Console.WriteLine("Width:{0}",box1.GetWidth());
- 另请注意Main方法中的以下行成功输出了框的尺寸,因为这些方法是从接口实例调用的:
System.Console.WriteLine("Length:{0}",dimensions.GetLength());
System.Console.WriteLine("Width:{0}",dimensions.GetWidth());
以上就是c#如何显式实现接口成员的详细内容,更多关于c#显式实现接口成员的资料请关注毛票票其它相关文章!
热门推荐
10 英语寄语生日祝福语简短
11 PMP考试祝福语简短励志
12 中班哥哥姐姐祝福语简短
13 婆婆蛋糕祝福语简短英文
14 搞笑舞蹈生日祝福语简短
15 英语祝福语宝宝文案简短
16 励志祝福语幽默句子简短
17 门市开业口头祝福语简短
18 生物老师高考祝福语简短