Frage

Ich arbeite am Beispiel des Parkplatzes und habe beim Entwerfen nur wenige Annahmen getroffen.

Ich habe einige Fragen zum Zuweisen von Attributen zu Elementen / Objekten.

1) Wenn der Parkplatz nicht von einem System zugewiesen wird, dh der Benutzer gerade in den Parkplatz einsteigt, findet er einen geeigneten Platz (Auto / Fahrrad / LKW / Behinderte) und parkt sein Auto.

Ich denke, ich brauche kein Parkplatzobjekt, aber stattdessen kann ich für jede Kategorie des Parkplatzes eine Anzahl von no_of_free_places no_of_free_places .

Da der Parkplatz groß ist, pflegen wir nur drei Variablen.

  • kein_von_freien_stellplätzen_auto
  • kein_von_kostenlosem_fahrrad
  • Keine freien Slots LKW
  • Keine freien Slots mit Handicap

wenn ein Fahrzeug hereinkommt, verringern wir einfach einen der oben genannten Werte (dh von den verfügbaren X Plätzen wählt der Benutzer einen aus und parkt dort), und wenn Fahrzeuge ausgehen, erhöhen wir den entsprechenden Wert.(kurz gesagt, der Parkplatz wird von niemandem zugewiesen, das Fahrzeug fährt nur zu einem der in Frage kommenden Plätze und parkt dort)

2) Angenommen, wir haben eine einzige globale Parkuhr.
--> Soll die start_time / end_time ein Attribut des Fahrzeugs sein?
Oder
--> fahrzeug-ID, Startzeit, Endzeit Seien Sie Teil des Parkzählers.

3) Unter der Annahme, dass ein Parkplatzobjekt benötigt wird, sollte 4_wheeler, 2_wheeler, handicapped ein Aufzählungstyp oder eine separate Klasse insgesamt sein.
Wenn es eine Aufzählung ist, können wir findEmptySlot(parkingSpace_type) verwenden;
Wenn sie insgesamt eine separate Klasse sind und ParkingLot eine Methode findEmptySlot();
Wie können wir den passenden Slot bekommen?

Parkuhr ist dafür verantwortlich, die Start- und Endzeiten des Fahrzeugs einzustellen, richtig?

Wenn der mehrere Beträge hat, 1 Stunde - 20 $, 2 Stunden - 30 $, 3 Stunden - 40 $, 5 Stunden - 50 $
ist es gut, diese Teil der Parkuhrklasse zu haben oder sie in eine separate Klasse "Parkpreis" aufzunehmen

War es hilfreich?

Lösung

In Ordnung,

  1. Ich habe die Frage nicht wirklich verstanden, aber ich würde tatsächlich ein Array verwenden ParkingSpace objekte zur Beschreibung der Räume im Park.
  2. Da die Uhrzeit pro Fahrzeug gilt, sollte die Uhrzeit am Fahrzeug eingestellt werden.
  3. Ich würde für jede eine andere Klasse verwenden, und jede sollte die abstrakte Klasse erweitern Vehicle.Es ermöglicht Flexibilität mit gemeinsamen und eindeutigen Attributen für jeden Fahrzeugtyp (Seriennummer für alle Fahrzeuge, aber nur 4_räder haben zum Beispiel Türen).Wie man leere Parkplätze findet, jeder ParkingSpace objekt hätte eine $takenBy eigenschaft, die eine Instanz des Fahrzeugobjekts enthalten würde, belegt es.Es sollte standardmäßig auf null, dann durchlaufen Sie einfach das Array von Leerzeichen in Ihrem ParkingLot klasse, und finde den mit $space->takenBy == null.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top