抽象类 ??--->接口
抽象类(abstract):
抽象类是一种特殊的类,特点如下:
1. 抽象方法只做声明,而不包含实现,可以看成是没有实现的虚方法;
2.抽象类不能被事例化,除此,跟其他类的特性一样;
3.具体派生类必须覆盖基类的抽象方法;
接口(interface):
1.不能被事例话;
2.只能包含实现的方法声明;
3.接口中的所有成员默认为是public,因此接口中不能有private修饰符;
接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念!
而类是负责功能的具体实现! 在类中也有抽象类的定义。
抽象类与接口的区别在于:
区别一:
抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,需要进一步的专业化。
但接口是一个行为的规范,里面的所有东西都是抽象的!
一个类只可以继承一个基类也就是父类,但可以实现多个接口。
例如:飞机会飞,鸟也会飞,那么我们可以这么说他们都是继承了同一接口“飞”,“歼十”是属于飞机的抽象,鸽子是属于鸟的抽象;
区别二:
抽象类在定义类型方法的时候,可以给出方法的实现部分,也可以不给出;而对于接口来说,其中所定义的方法都不能给出实现部分。
public abstract class AbsTest
{
public virtual void Test()
{
Debug.WriteLine( "Test" );
}
public abstract void NewTest();
}
public interface ITest//为了项目的规范;
{
void Test();
void NewTest();
}