1

基本的に非常によく似た3つのクラスがあります。

  1. アップロードしたファイルの記録を保存します。
  2. ファイルを移動してアップロードします。
  3. レコードのステータスをアクティブまたは取り消しに設定します。

クラスの1つには、追加の更新メソッドがあります。一部のフィールドは共通ですが、一部のテーブルには余分なフィールドがいくつかあるため、各クラスはデータベース内の異なるテーブルを参照します。

かなり多くの機能が一般的であるため、多くの機能を複製するよりも、基本クラスを拡張する方がよいと思います。

私の唯一の喧嘩は、基本クラスの構築関数です。各テーブルの一部のフィールドは追加であるため、これにより基本クラスが妨げられるのではないかと心配しています。

抽象クラスを使用することを考えました。これにより、ほとんどのものを1つの場所に維持しながら、機能を拡張できるようになります。しかし、それは構成の問題です。構成のない抽象クラスを持つことはできますか?

何か案は?

4

2 に答える 2

0

申し訳ありませんが、私はあなたの質問を完全には理解していないと思います。とにかく、継承されたクラスでは、いつでもコンストラクターをオーバーライドし、その中でスーパークラスのコンストラクターに加えて、必要に応じてさらに何かを呼び出すことができます。

于 2010-12-15T06:28:05.207 に答える
0

私があなたを理解していれば:あなたはなしでどんなクラスでも持つことができます__construct()finalまた、子クラスの親クラスのすべてのメソッド ( として宣言されているメソッドを除く) をいつでも上書きできます。

于 2010-12-09T19:01:35.840 に答える