質問

私は駐車場の例に取り組んで、私はデザインとして仮定していました。

アイテム/オブジェクトへの属性の割り当てにはいくつかの質問があります。

1)システムがシステム、すなわちユーザによって割り当てられていない場合は、適切な場所(車/自転車/トラック/障害者)を見つけて、彼の車を公園にします。

駐車スペースオブジェクトを必要としないと思いますが、代わりに、Category_of_parking_spaceのそれぞれにNO_OF_FREE_PLACESをカウントしておくことができます。

駐車スペースが大きいので、3つの変数を維持するだけです。

  • no_of_free_slots_car
  • no_of_free_slots_bike
  • no_free_slots_truck
  • no_free_slots_handicapped

    車両が入ってくるときは、上記の値の1つを減らすだけです(これは利用可能なXの場所の手段、ユーザーは1つの公園を選択します)、車両が消えたときに対応する値を上げます。 (要するに、駐車場は誰によっても割り当てられていない、車両は適切な場所&公園の1つに行きます)

    2)単一のグローバルパーキングメーターがあると仮定しています。
    - > start_time / end_timeは車の属性になるべきですか?
    または
    - > higher_id、start_time、end_timeは駐車計メーターの一部になります。

    3)駐車スペースオブジェクトの必要性を仮定すると、4_wheeler、2_wheeler、障害者は列挙型、または別のクラスであるべきであるか、または別のクラスです。
    その列挙れの場合は、FindEmptySlot(PardeSpace_type)を使用できます。
    それらが完全に別々のクラスで、駐車場にはメソッドfindEmptySlot()があります。
    適切なスロットをどのように入手できますか?

    駐車計は、車両のスタートを設定する責任があり、終了時間は右ですか?

    複数の金額がある場合、1hr - 20 $、2hr - 30 $、3hr - 40 $、5hr - 50 $
    それは駐車準備計のクラスのこれらの部分を持っているか、それらを別のクラスの "Parderprice" に含めることですか

役に立ちましたか?

解決

大丈夫、

  1. 私は本当に質問を理解していませんでしたが、私は実際には公園内のスペースを記述するために配列ParkingSpaceオブジェクトを使います。
  2. 車両あたりの時間は車両あたりの時間を車両に設定する必要があります。
  3. それぞれ異なるクラスを使用しており、それぞれ抽象クラスVehicleを拡張する必要があります。各車種の一般的かつ固有の属性(すべての車両のシリアル番号、たとえば4台の車両のみがインスタンスにしか持っていません)を可能にします。空の駐車スペースを見つける方法は、各ParkingSpaceオブジェクトに$takenByプロパティがあります。これは、車両オブジェクトのインスタンスを占有します。その後、nullにはデフォルトでは、ParkingLotクラスのスペースの配列を繰り返し、$space->takenBy == nullを持つものを見つけます。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top