1

我正在为我的类在 Doctrine2 应用程序中编写构造函数,比如说 Fruits、Apple、Bananas。

Fruits是父类,其中ApplesBananas继承Fruits自在 field 上使用单表继承type

在 Doctrine2 文档页面上,有一个为单表继承提供的示例。如果我们总是使用单表继承进行区分,那么基类是否应该Fruits是抽象的,因为必须始终设置鉴别器字段?如果是这样,构造函数是否Fruits也应该受到保护以防止这种行为?

4

1 回答 1

3

由于您的父类“Fruits”中没有您需要重新声明的方法,我认为没有明确需要将其声明为抽象。

此外,您可能会发现一个用例,您可能希望保留“水果”的实例(不确定它是什么类型的水果)。将父级标记为摘要将阻止您执行此操作。

也许水果就是一个不好的例子。但是他们在文档中的 Person 示例更好。员工将继承 Person 定义。但我可能还想只保留一个未确定类型的 Person 实例。因此@DiscriminatorMap 中的“person” = “Person”。

http://docs.doctrine-project.org/projects/doctrine-orm/en/2.0.x/reference/inheritance-mapping.html#single-table-inheritance

于 2012-05-11T13:22:37.577 回答