我在Doctrine2应用程序中为我的类编写构造函数,比如说Fruits,Apple,Bananas。
Fruits
是父类,其中Apples
和Bananas
使用字段Fruits
上的单个表继承从type
继承。
在Doctrine2文档页面上,提供了一个用于单表继承的示例。如果我们总是使用单表继承进行区分,那么基类Fruits
是否应该是抽象的,因为必须始终设置鉴别器字段?如果是这样,Fruits
的构造函数是否也应受到保护以防止此行为?
答案 0 :(得分:3)
由于您的父类“水果”中没有您需要重新声明的方法,我认为没有明确需要将其声明为抽象。
此外,您可能会发现一个用例,您可能希望保留一个“Fruit”实例(不确定它是什么类型的水果)。将父级标记为抽象将阻止您执行此操作。
也许水果是一个坏榜样。但是他们在文档中的人员示例更好。员工将继承人员定义。但是我可能还想坚持一个Person的实例,不确定类型。因此@DiscriminatorMap中的“person”=“Person”。