C#顯式地實現(xiàn)接口成員的方法
更新時間:2015年06月28日 11:48:55 作者:pythoner
這篇文章主要介紹了C#顯式地實現(xiàn)接口成員的方法,實例分析了C#接口的相關(guān)使用技巧,需要的朋友可以參考下
本文實例講述了C#顯式地實現(xiàn)接口成員的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
// explicit1.cs
interface IDimensions
{
float Length();
float Width();
}
class Box : IDimensions
{
float lengthInches;
float widthInches;
public Box(float length, float width)
{
lengthInches = length;
widthInches = width;
}
// 顯式接口成員實現(xiàn):
float IDimensions.Length()
{
return lengthInches;
}
// 顯式接口成員實現(xiàn):
float IDimensions.Width()
{
return widthInches;
}
public static void Main()
{
// 聲明類實例“myBox”:
Box myBox = new Box(30.0f, 20.0f);
// 聲明接口實例“myDimensions”:
IDimensions myDimensions = (IDimensions) myBox;
// 打印出盒子的尺寸:
/* 下列注釋行將產(chǎn)生編譯
錯誤,因為這些行試圖從類實例訪問顯式實現(xiàn)的
接口成員: */
//System.Console.WriteLine("Length: {0}", myBox.Length());
//System.Console.WriteLine("Width: {0}", myBox.Width());
/* 從接口的實例調(diào)用方法,
以打印出盒子的尺寸: */
System.Console.WriteLine("Length: {0}", myDimensions.Length());
System.Console.WriteLine("Width: {0}", myDimensions.Width());
}
}
代碼2:
// explicit2.cs
// 聲明英制單位接口:
interface IEnglishDimensions
{
float Length();
float Width();
}
// 聲明公制單位接口:
interface IMetricDimensions
{
float Length();
float Width();
}
// 聲明實現(xiàn)以下兩個接口的“Box”類:
// IEnglishDimensions 和 IMetricDimensions:
class Box : IEnglishDimensions, IMetricDimensions
{
float lengthInches;
float widthInches;
public Box(float length, float width)
{
lengthInches = length;
widthInches = width;
}
// 顯式實現(xiàn) IEnglishDimensions 的成員:
float IEnglishDimensions.Length()
{
return lengthInches;
}
float IEnglishDimensions.Width()
{
return widthInches;
}
// 顯式實現(xiàn) IMetricDimensions 的成員:
float IMetricDimensions.Length()
{
return lengthInches * 2.54f;
}
float IMetricDimensions.Width()
{
return widthInches * 2.54f;
}
public static void Main()
{
// 聲明類實例“myBox”:
Box myBox = new Box(30.0f, 20.0f);
// 聲明英制單位接口的實例:
IEnglishDimensions eDimensions = (IEnglishDimensions) myBox;
// 聲明公制單位接口的實例:
IMetricDimensions mDimensions = (IMetricDimensions) myBox;
// 以英制單位打印尺寸:
System.Console.WriteLine("Length(in): {0}", eDimensions.Length());
System.Console.WriteLine("Width (in): {0}", eDimensions.Width());
// 以公制單位打印尺寸:
System.Console.WriteLine("Length(cm): {0}", mDimensions.Length());
System.Console.WriteLine("Width (cm): {0}", mDimensions.Width());
}
}
希望本文所述對大家的C#程序設(shè)計有所幫助。
相關(guān)文章
c# 通過wbemtest和WMI Code Cretor更加高效的訪問WMI
能找到這篇博客的,相信都是有操作WMI需求的了。本文將講述如何快速驗證、并集成到C#來操作WMI。2021-05-05
C#中的靜態(tài)字段double.Epsilon實例詳解
double.Epsilon 是C#中的一個靜態(tài)字段,表示 double 數(shù)據(jù)類型的最小可表示的正數(shù)值,這篇文章主要介紹了C#中的靜態(tài)字段double.Epsilon的相關(guān)知識,需要的朋友可以參考下2024-01-01

