0

我的查询是关于类的体系结构和关系,我想知道比我实现的更好的解决方案。

我有 4 节课,每节课解释一行

  1. core.php 类,它将具有所有常用功能
  2. A.php 类文件,其中包含任务 A 的特定功能,例如在 csv 文件 A 上写入。
  3. B.php 类文件,其中包含任务 B 的特定功能,例如编写另一个与 csv A 完全不同的 csv 文件。
  4. X.php 类是另一个特定于任务的类。

现在来到将使用所有 4 个类的通用脚本。所以我不明白哪个类将扩展另一个类

A.php 和 B.php 之间没有关系

但是 x.php 必须使用所有 3 个类 core.php、A.php 和 B.php。

目前我所做的,我为核心类设计了一个接口,x.php扩展了核心类并实现了接口。我将 A.php 和 B.php 设计为静态类。

请指导

4

2 回答 2

2

如果它们彼此无关, 不必上课。extend您可以简单地在另一个类中使用一个类,而这两个类没有任何关系继承或接口方式。

您可以像这样构造它:

  • class Common是您的基类,每个类都继承自并包含所有类需要的公共代码,例如用于日志记录或数据库访问的代码。
  • class A extends Common并且专门用于一些与 CSV 相关的任务。这个类可能会或可能不会自己做任何事情。
  • class B extends A并且更专业于涉及 CSV 的某些特定任务。
  • class X extends Common又是其他一些任务。

通常,如果一个类的功能几乎相同,但稍微更专业或不同,则extend使用通用基类。如果一个类与另一个类没有任何共同之处,只需将它们设为独立类即可。用于interfaces多态性;这听起来不像你现在需要的。

于 2012-07-03T10:46:10.137 回答
0

这听起来像是基本的依赖管理。我不明白你为什么明确想要扩展任何东西?

您可能应该做的是注入所需的依赖项。在实例Core化它所依赖的对象A之前B分别实例化。X

于 2012-07-03T10:48:09.177 回答