能看懂代码,但不理解具体用途。。。。。
其间异同如下:
它们的派生类只能继承一个基类,即只能直接继承一个抽象类,但可以继承多个接口。
抽象类中可以定义成员的实现,但接口中不可以。
抽象类中可以包含字段,构造函数,析构函数,静态成员或常量等,接口中不可以。
抽象类中的成员可以是私有的(只要它们不是抽象的),受保护的,内部的或受保护的内部成员,但接口中的成员必须是公共的。
~~~~~~~~~~~~~~~~~~~
抽象类和接口这两种类型用于完全不同的目的。抽象类主要用作对象系列的基类,共享某些主要特性,例如共同的目的和结构。接口则主要用于类,这些类在基础水平上有所不同,但仍可以完成某些相同的任务。
~~~~~~~~~~~~~~~
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication5 { public abstract class myClass { private string id = ""; private string name = ""; public string ID { get { return id; } set { id = value; } } public string Name { get { return name; } set { name = value; } } public abstract void showInfo(); } public class driveClass : myClass { public override void showInfo() { Console.WriteLine(ID + " " + Name); } } class Program { static void Main(string[] args) { driveClass driveclass = new driveClass(); myClass myclass = driveclass; myclass.ID = "BH0001"; myclass.Name = "TM"; myclass.showInfo(); Console.ReadKey(); } } }