php类关系以及如何扩展类

时间:2012-07-03 10:37:16

标签: php oop class

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

我有4个课程,每个课程解释一行

  1. core.php类,它将具有所有常用功能
  2. A.php类文件,其中包含任务A的特定功能,例如在csv文件A上编写。
  3. B.php类文件,其中包含任务B的特定功能,例如编写另一个与csv A完全不同的csv文件。
  4. X.php类,这是另一个任务特定类。
  5. 现在来一般脚本将使用所有4个类。所以我不明白哪个类会扩展哪个类

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

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

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

    请指导

2 个答案:

答案 0 :(得分:2)

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

您可以像这样构建它:

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

通常,如果一个类几乎相同但略微更专业或不同,extend是一个公共基类。如果一个类与另一个类没有任何共同点,那就让它们成为独立的类。使用interfaces进行多态性;这听起来不像你现在所需要的。

答案 1 :(得分:0)

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

你可能应该做的是注入所需的依赖项。在使用它所依赖的对象实例化Core之前,单独实例化ABX