先列举我写的编码:
接口及其抽象类、完成类
public interface IA { void H(); } public interface IB { void H(); } public abstract class D { public abstract void H(); } public class C : D,IA, IB { void IA.H() { Console.WriteLine("all a.h"); } public override void H()//T { Console.WriteLine("all b.h"); } }
假如类C承继了抽象类D,那麼在类C中能够应用override关键词,接口IB启用的也是被遮盖的方式H(T部位)【能够了解T部位的方式H另外遮盖了抽象类D中的方式H和完成了接口IB中的方式H】。
假如类C不承继抽象类D,那麼类C中不可以应用override关键词,override关键词只有在承继抽象类的状况下应用(本人应用以后觉得是那样的)。
一开始的编码是那样的:
public interface IA { void H(); } public interface IB { void H(); } public abstract class D { public abstract void H(); } public class C : D,IA, IB { public override void H() { Console.WriteLine("all h"); } void IA.H() { Console.WriteLine("all a.h"); } void IB.H() { Console.WriteLine("all b.h"); } }
显示信息完成接口。显示信息完成接口时不可以在遮盖的方式或字段名上应用访问限制关键词【private、protected、public等】
不在承继抽象类D的状况下是那样的:
public class C : IA, IB { public void H()//U { Console.WriteLine("all h"); } void IA.H() { Console.WriteLine("all a.h"); } void IB.H() { Console.WriteLine("all b.h"); } }
启用时,接口IA的目标只有浏览IA.H(),接口IB只有浏览IB.H(),浏览不上U部位的方式。只有在实例化类C的状况下才可以浏览到U部位的方式H
启用的编码:
class Program { static void Main(string[] args) { IA a = new C(); IB b = new C(); a.H(); b.H(); D d = new C(); d.H(); C c = new C(); c.H(); Console.WriteLine("Hello World!"); Console.ReadLine(); } }
之上是我本人的小汇总,如果有错,热烈欢迎纠正,本人的语文课不太好。欢迎批评。