我是否应该始终使用abstract
关键字设计一个仅具有受保护构造函数的类?为什么呢?
假设该类没有抽象成员。
如果不是,你能举一些例子吗?
答案 0 :(得分:3)
没有。只有受保护的构造函数的类型仍然是可创建的 - 通过类型上的静态工厂方法,或通过反射(包括,作为一个选项,完全跳过构造函数)。
抽象类型从不可创建。
将类型标记为抽象:如果它是抽象的。那么:对于那种类型的对象(而不是子类)存在是否有意义?
答案 1 :(得分:2)
不,你不应该按设计这样做,因为那不是为abstract
类制作的。
答案 2 :(得分:0)
在我看来,抽象类用于表示逻辑视图中具有相同类型的一堆类。这意味着这一类在属性或行为中都很常见。它不用于表示具有“私有”构造函数的类,并且不能在类本身之外创建。