は、私はフルーツクラス異なるパラメータに基づいて異なるクラスの異なるオブジェクトを作成する方法は?
から延びるアップルのクラスを持っていると私はあまりにもフルーツクラスから拡張オレンジクラス
両方のクラスが2つの異なるコンストラクタを持っている
アップルは、アップル(サイズ、色を、持っていると仮定すると、味、重量); オレンジ色はオレンジ(サイズ、半径、直径)です。
各オブジェクトには、私はJUST FRUITのクラスを作成し、別のインスタンスを作成するにはどうすればよい
を呼び出す必要があり、独自のユニークな方法を得ましたか。異なるパラメータに基づいていますか? like
Fruit a = new Fruit(int size, int colour, String taste, int weight); To create apple
Fruit a = new Fruit(int size, int radius, int diameter); To create orange
どうすればよいですか?助けてください
UPDATE:
私は工場を使用する必要があります理解し、私の上司は彼だけを言うので、私は上記の
を達成するためにC#で工場を使用しない方法、それを行うために訓練されませんでした果物の名前を気にすることなく、ユーザーが果物のクラスにパラメータを入力してもらいたい。彼は私にjavaのコールファクトリを教えてくれました、どうすればいいですか?
を:あなたはしないでください。コンストラクタはフルーツタイプに特化しています。なぜ、コンストラクタの両方をベースラインの果実に入れようとしますか?あなたがアップルを作成しているのを知っていれば(Apple固有のコンストラクタを呼び出すので)、Fruit()の代わりにApple()を新しくしないのはなぜですか? いくつかのオーバーロードを含むCreateFruitを実装して、シグニチャに基づいて特定の果実を返すことができるFactoryを見てみるとよいでしょう。 –
'それぞれのオブジェクトには独自のメソッドがありますが、あなたの質問にタグが付いています。[多型性] - あなたはその言葉を調べる必要があると思います。また、あなたの上司から明確な説明を求める必要があると思います。彼があなたに聞いたことはゼロになります。 – Jamiec
彼は、Fruitオブジェクトがリンゴやオレンジを宣言せずに、AppleまたはOrangeにオブジェクトを自動的に分類するようにすることを意味しています – user2399158