到目前为止,编译器似乎并不介意它,但我只是想通过在抽象类中实现某些方法来仔细检查我是否以任何方式为自己设置了失败。
答案 0 :(得分:17)
抽象类通常有一个或多个抽象方法。所以是的,它可以实现一些方法。目标是强制用户实现这些方法以使对象工作。有时,抽象类用于提供某些接口的“基础”实现,而最终用户只能指定关键方法。你也可以有一个没有任何抽象方法的抽象类:在这种情况下,你断言你必须从该类派生才能使用它。
答案 1 :(得分:6)
在抽象类中有一些实现是很常见的。
如果根本没有实现,请考虑使用接口而不是抽象类。
答案 2 :(得分:1)
是。 abstract
类无法实例化(您必须实例化一个继承自抽象类的类),但它可以包含实现。
答案 3 :(得分:1)
完全可以实现某些方法并让其他方法抽象化。
如果所有方法都必须是抽象的,那么你也可以使用它的接口。
答案 4 :(得分:0)
很好并允许,abstract class
至少有一个成员(方法/属性)未实现,因此无法实例化。
interface
也称为pure abstract class
,这意味着它是100%抽象的,因此不允许您指定任何实现。
请记住,有很多关于永远不会从另一个具体类派生出具体类的文章和观点,但只有抽象的...至少这是几年前C ++的趋势,然后我转到C#方面,开始工作更多,没有时间继续阅读那些好文章...... :)