接口和抽象类非常相似,它定义了一些未实现的属性和方法。所有继承它的类都继承这些成员,在这个角度
上,可以把接口理解为一个类的模板。
接口和类的相似之处表现在以下两方面。
1.两者都包含可以由子类继承的抽象成员;
2.两者都不能直接实例化。
两者的区别表现在以下几个方面。
1.抽象类除拥有抽象成员之外,还可以拥有非抽象成员;而接口所有的成员都是抽象的。
2.抽象类成员可以是私有的,而接口的成员一般都是公有的。
3.接口中不能含有构造函数、析构函数、静态成员和常量。
4.C#只支持单继承,即子类只能继承一个父类,而一个子类却能够继承多个接口。
5.同实现抽象类的抽象方法不同,实现接口中的方法并不需要使用"override"关键字。
上,可以把接口理解为一个类的模板。
接口和类的相似之处表现在以下两方面。
1.两者都包含可以由子类继承的抽象成员;
2.两者都不能直接实例化。
两者的区别表现在以下几个方面。
1.抽象类除拥有抽象成员之外,还可以拥有非抽象成员;而接口所有的成员都是抽象的。
2.抽象类成员可以是私有的,而接口的成员一般都是公有的。
3.接口中不能含有构造函数、析构函数、静态成员和常量。
4.C#只支持单继承,即子类只能继承一个父类,而一个子类却能够继承多个接口。
5.同实现抽象类的抽象方法不同,实现接口中的方法并不需要使用"override"关键字。