在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
using System; abstract class MyAbs { public void NonAbMethod() { Console.WriteLine("Non-Abstract Method"); } } class MyClass : MyAbs { } class MyClient { public static void Main() { //MyAbs mb = new MyAbs();//不能实例化 MyClass mc = new MyClass(); mc.NonAbMethod(); } } 一个抽象类可以包含abstract方法,也可包含实例化方法,但继承类(非抽象)必须实现abstract方法 using System; abstract class MyAbs { public void NonAbMethod() { Console.WriteLine("Non-Abstract Method"); } public abstract void AbMethod(); // 抽象方法,只有声明,没有实现 } class MyClass : MyAbs//必须实现抽象方法 { public override void AbMethod() { Console.WriteLine("Abstarct method"); } } class MyClient { public static void Main() { MyClass mc = new MyClass(); mc.NonAbMethod(); mc.AbMethod(); } } 当然继承类也可以是抽象的 using System; abstract class MyAbs { public abstract void AbMethod1(); public abstract void AbMethod2(); } //抽象继承类不必全部实现抽象方法,部分实现便可 abstract class MyClass1 : MyAbs { public override void AbMethod1() { Console.WriteLine("Abstarct method #1"); } } class MyClass : MyClass1 { public override void AbMethod2() { Console.WriteLine("Abstarct method #2"); } } class MyClient { public static void Main() { MyClass mc = new MyClass(); mc.AbMethod1(); mc.AbMethod2(); } } 抽象类可以继承自非抽象类 using System; class MyClass1 { public void Method1() { Console.WriteLine("Method of a non-abstract class"); } } abstract class MyAbs : MyClass1 { public abstract void AbMethod1(); } class MyClass : MyAbs//实例类必须实现抽象方法 { public override void AbMethod1() { Console.WriteLine("Abstarct method #1 of MyClass"); } } class MyClient { public static void Main() { MyClass mc = new MyClass(); mc.Method1(); mc.AbMethod1(); } } 抽象类可以实现接口 using System; interface IInterface { void Method1(); } abstract class MyAbs : IInterface { public void Method1() { Console.WriteLine("Method implemented from the IInterface"); } } class MyClass : MyAbs { } class MyClient { public static void Main() { MyClass mc = new MyClass(); mc.Method1(); } } 最后需要注意的是抽象类不能声明为sealed,这两个语义是冲突的。抽象方法不必(也不能)声明为virtual,因为它缺省隐含就为virtual! |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论