抽象Vehicle
クラスと車、トラック、オートバイ抽象クラスVehicle
から派生したものを考えてみましょう。また、私は燃料や燃料をベースにした車や電動ベースの車などを作成することができることを想像してトラックやバイクのためにも。 (具象クラス)異なるシグネチャで多態的な方法を作るにはどうすればいいですか
つの質問:
1.Consider私は多型の方法で、それが何であるかを知らなくても、車両のエネルギーをいっぱいにしたいです。例えば車両が、私は燃料とそれを埋めるために、メソッドが3つのパラメータである必要があり欲しい系燃料の場合:
void FillUpEnergy(EfuelType i_fuelType,int amounOfEnergy, int maxAmountOfEnergy)
しかしelectricy基づいて、車両のために、私はの燃料タイプなしで、ほぼ同じ機能signtureが、この時間を必要としますもちろん、例えば(2つのパラメータ):
void FillUpEnergy(int amounOfEnergy, int maxAmountOfEnergy)
私は上記の制約とpolymorhic FillUpEnergy
方法を行うことができますか? (異なるメソッドのシグネチャ)すべての具象クラスがFuelEngine
またはElectricEngine
(エンジンから派生し、私が持っている他の具体的なクラス)を表すEngine
のための参照(別の抽象クラス)を保持し、私の実装2.In
。たとえば、ElectricEngine
の参照を保持する具体的なクラスElectricCar
があります。
このアーキテクチャは十分ですか、またはガレージシステムを実装するためのより良い方法がありますか?
を呼び出し
myCar.FillUpEnergy(myProvider)
ブリッジパターンも私の最初の考えでした。 –