C#--接口的实现

it2024-11-16  10

接口:

不允许使用访问修饰符,所有接口成员都是公共的.接口成员不能包含代码体.接口不能定义字段成员.接口成员不能使用关键字static,vritual,abstract,sealed来定义.类型定义成员是禁止的.

如果要隐藏继承了接口中的成员,可以用关键字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; }

转载于:https://www.cnblogs.com/oneword/archive/2009/07/03/1516030.html

最新回复(0)