抽象类和接口的区别:
抽象类:包含一个或多个抽象方法(只是定义,无方法体);
还可以有一个多个可执行方法;
抽象类可以实现或继承接口;
接口:只含方法、属性、事件、索引等的定义;
在接口中定义的变量,会自动地成为类的常量(无须加上static和final);
而且这些定义不能有修饰符且都属于Public类型;
每个实现该接口的类,必须实现方法;否则编译出错;除非此类定义为抽象类(前面加上abstract);
抽象类和接口的相同的地方:
抽象类和接口都不能被实例化;
接口中的方法也相当于抽象方法(接口是一个完全的抽象方法);
接口定义:
interface
IDemo
{
void open();
void close();
}
{
void open();
void close();
}
抽象类定义:
abstract
class
Demo
{
public abstract void open();
public abstract void colse();
protected abstract void FF();
public string OutToScreen( string s)
{
Console.WriteLine(s);
}
}
{
public abstract void open();
public abstract void colse();
protected abstract void FF();
public string OutToScreen( string s)
{
Console.WriteLine(s);
}
}
抽象类继承接口:
abstract
class
Demo:IDemo
{
public abstract void open();
public abstract void close();
}
{
public abstract void open();
public abstract void close();
}