扩展具有通用功能的类

时间:2010-12-09 18:51:55

标签: php oop abstract-class extending

我有三个基本上做类似事情的课程;

  1. 存储上传文件的记录。
  2. 移动并上传文件。
  3. 将记录的状态设置为活动或已撤消。
  4. 其中一个类有一个额外的更新方法。每个类引用数据库中的不同表,因为虽然某些字段是常见的,但在某些表中还有一些字段。

    由于很多功能很常见,我认为扩展基类而不是复制很多功能可能是最好的。

    我唯一的争吵是基类上的构造函数。由于每个表中的某些字段是附加的,我担心这会阻止基类。

    我曾想过使用抽象类,因为这样我可以扩展功能,同时将大部分内容保存在一个地方。但这是构造的问题。我可以有一个没有构造的抽象类吗?

    有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果我理解你:您可以在没有__construct()的情况下拥有任何课程。并且您始终可以覆盖子类中父类的每个方法(除了声明为final的方法之外)。

答案 1 :(得分:0)

我很抱歉,但我想我并不完全理解你的问题。无论如何,在继承类中,您始终可以覆盖构造函数,并在其中调用超类构造函数以及其他需要的东西。