abstract(抽象)类和interface(接口)是面向对象编程中两个概念,但是学了很多年编程的程序员有时对这两个概念的区分仍然不是很清楚。下面就讲解abstract类和interface的概念和区别。
下面的代码讲解了abstract(抽象)类的使用方法。
using System;
public abstract class A //抽象类A
{
private int num = 0;
public int Num //抽象类包含属性
{
get
{
return num;
}
set
{
num = value;
}
}
public virtual int getNum() //抽象类包含虚方法
{
return num;
}
public void setNum(int n) // //抽象类包含普通方法
{
this.num = n;
}
public abstract void E(); //类A中的抽象方法E
}
public abstract class B : A //由于类B继承了类A中的抽象方法E,所以类B也变成了抽象类
{
}
public class C : B
{
public override void E() //重写从类A继承的抽象方法。如果类B自己还定义了抽象方法,也必须重写
{
//throw new Exception("The method or operation is not implemented.");
}
}
public class Test
{
static void Main()
{
C c = new C();
c.E();
}
}
下面的代码讲解了interface(接口)的使用方法。
public delegate void EventHandler(object sender, Event e);
public interface ITest
{
//int x = 0;
int A
{
get;
set;
}
void Test();
event EventHandler Event;
int this[int index]
{
get;
set;
}
}
PS:本文资料来自互联网。