标签:
接口:
如果要隐藏继承了接口中的成员,可以用关键字new来定义它们.
public interface IMyInterface { void DoSomething(); } public interface IMyDeInterface : IMyInterface { new void DoSomething(); }在接口中定义的属性可以确认访问块get和set中的哪一个能用于该属性.
public interface IMyInterface { int myNum { get; set; } }注意:接口中不能指定字段.
在类中实现接口:
当一个类实现一个接口时,可以使用abstract或virtual来执行接口的成员,而不能使用static或const.
一个类的如果实现了一个借口,那么这个类的派生类隐式的支持该接口.
显式执行接口成员
接口成员可以由类显式的执行.如果这么做,那么这个成员只能通过接口来访问.而不能通过类来访问.
public interface IMyInterface
{
void DoSomeThing();
}
public class MyClass : IMyInterface
{
void IMyInterface.DoSomeThing()
{
throw new NotImplementedException();
}
}
protected void Page_Load(object sender, EventArgs e)
{
//此时mc是没有方法的.
MyClass mc = new MyClass();
//此时my有个方法DoSomeThing()
IMyInterface my = mc;
my.DoSomeThing();
}
隐式执行接口成员
默认都是隐式执行接口成员.public interface IMyInterface { void DoSomeThing(); } public class MyClass : IMyInterface { public void DoSomeThing() { throw new NotImplementedException(); } }
protected void Page_Load(object sender, EventArgs e)
{
MyClass mc = new MyClass();
mc.DoSomeThing();
}
类实现接口属性
public interface IMyInterface
{
int MyNum
{
get;
}
}
public class MyClass : IMyInterface
{
protected int myNum;
public int MyNum
{
get
{
return myNum;
}
set
{
myNum = value;
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
MyClass mc = new MyClass();
mc.MyNum = 12;
}标签:
原文地址:http://www.cnblogs.com/loveYN/p/4509693.html