【发布时间】:2014-03-28 17:21:57
【问题描述】:
当你创建一个类的子类时,你什么时候想创建超类abstract,因为据我所知,超类可以做任何抽象类可以做的事情。我对吗?
通过使其抽象化,您只是在限制自己实例化抽象类。
例如,有两个类,A 和 B
class A {
}
class B extends A {
}
和
abstract class A {
}
class B extends A {
}
有什么具体的区别吗?
或者,在概念上组织代码是使用抽象类作为超类的全部意义吗?例如,您想在每个子类都是其抽象超类的更具体类型(即水果>苹果、橙子、香蕉、葡萄、草莓等)的情况下使用抽象类,并且您想使用非-父子关系中的抽象超类?
我能得到一个通用的答案,什么时候使用抽象类,什么时候不使用?谢谢。
【问题讨论】:
标签: oop inheritance abstract-class abstract superclass