接口做为参数传递,传递的是实现了接口的对象;
接口作为类型返回,返回的是实现了接口的对象。
1.定义接口:
/// <summary>
/// 定义接口
/// </summary>
interface IShape
{
double Area
{
get;
}
void caculate();
}
2.实现接口
class Cricle : IShape
{
public int R { get; set; }
public Cricle(int r)
{
R = r;
}
public double Area
{
get { return Math.PI * R * R; }
}
public void caculate()
{
Console.WriteLine("面积为:{0}", Area);
}
}
class MyClass
{
public MyClass(IShape ish)
{
ish.caculate();
Console.WriteLine(ish.Area);
}
}
class Program
{
static void Main(string[] args)
{
Cricle cir = new Cricle(2);
MyClass myClass = new MyClass(cir);
Console.ReadLine();
}
}