web-dev-qa-db-ja.com

同じクラスの複数のインスタンス?

カテゴリに関するすべての操作とデータを処理するために、「Category」という名前のクラスがあります。これでクラスが作成されましたが、データベース内の各カテゴリのオブジェクトを作成する方法を見つける必要があります。

PHP OOP=構造では、どうすればいいですか?カテゴリごとにCategoryオブジェクトが含まれていますが、これがこれを実現するための最良の方法であるかどうかはよくわかりません。

1
Dacramash

クラスの複数のインスタンスをいつでも作成できます!これがクラスの設計です!各オブジェクトは、独自の個別の内部変数を保持します(静的である場合を除き、静的である場合は共有されます)。

それらすべてを変数に格納する場合は、任意のコレクションタイプ(リスト、コレクション、配列)を使用できます。 PHPは独自の 配列タイプ を提供します

カテゴリのリストを関数に渡すか、カテゴリのリストを返す場合。配列をオブジェクトで埋めて渡します。

2
Tomas Zubiri

2つのクラスが必要なようです:

  1. カテゴリ。単一のカテゴリに関するデータを格納します。これは単純なPOJOである可能性が高く、通常は単一のデータベース行からのデータを保持します。いくつかの行動方法があるかもしれませんが、多くの場合、何もありません。
  2. カテゴリのリストを含むCategoryList、またはArrayListのようなものを拡張する可能性があります。通常、これはCategory findCategoryByCode(String categoryCode)List<Category> findIncomeCategories()のような動作メソッドのみを提供します。

既存のクラスが両方の機能を果たそうとしているようです。責任を分割してみてください。私の答えがJava指向です。私はPHPでオブジェクトを使用したことがありませんが、同じ基本が適用されるはずです。

1
kiwiron