抽象类和接口都不能被实例化,这是他们最大的共同点,但他们还有很大的不同,简单说明如下:
·抽象类中只有抽象成员不包含实现部分,接口所有成员都不包含实现部分;
·抽象类的派生类只需实现其抽象成员,接口的派生类要实现其所有成员;
可以把抽象类看作是接口和普通类的混合体,他的抽象成员类似接口成员,他的非抽象成员和普通类成员一样。
抽象方法和虚方法也非常容易把人弄糊涂,下边也说下他们的一些区别:
·抽象方法使用关键字abstract,虚方法使用关键字virtual;
·抽象方法必须在抽象类中,虚方法不用;
·抽象方法没有实现体,虚方法有实现体;
·抽象方法必须在派生类中override,派生类可以选择是否override虚方法;
评论(0)
暂无评论。