2010-12-15 121 views
2

Aidez-moi à comprendre la puissance de OOPS dans ce fameux exemple Parking Lot. J'ai lu ce post hier en essayant de comprendre la conception de niveau inférieur parfait.Exemple de parc de stationnement Java OOPS Conception

Parkinglot - Parkinglot a (Liste des espaces parking) espaces parking - sortie() - entrée() - Mise à jour() - int capacité

parkingspace id -Long Type -string (2 roues , 4 roues etc) -Véhicule (a Vechicle Référence)

véhicule (interface- tout type de véhicule (deux roues, quatre roues) - parc() - Reprendre() méthodes abstraites - a la référence de ParkingLot et ParkingSpace

Voiture, camion différent type de véhicules met en œuvre le véhicule.

Y at-il quelque chose qui me manque ici ... y at-il un motif de conception que je dois suivre ici .. Comment obtenons-nous le polymorphisme dans cet exemple.

+0

Qu'est-ce que vous essayez précisément de comprendre ... essayez-vous de concevoir un parking en termes d'objets? Est-ce que ce sont les devoirs? –

+0

classes, interfaces, méthodes, variables et comment les concepts OOPS aident à concevoir cette application. – SPD

+0

Il est bon d'accepter la réponse quand ils vous ont aidé. –

Répondre

2

La programmation orientée objet aide dans cette situation car l'interface de votre véhicule vous permet de définir des actions similaires pour de nombreux véhicules différents sans avoir à écrire ces méthodes/fonctions pour chaque type de véhicule.

Il semble que vous ayez une bonne connaissance de vos classes (ParkingLot, ParkingSpace, Car, Truck) et de votre interface (Vehicle). Si différents types d'espaces de stationnement avaient des champs différents, vous pourriez envisager une interface ParkingSpace qui est ensuite implémentée par MotorcycleSpace, CompactSpace, etc. mais comment vous l'avez maintenant n'est pas incorrect. Le polymorphisme vient aussi bien avec votre interface.

EDIT: En ce qui concerne la composition, vous avez un ParkingLot avec ParkingSpaces. Si votre classe de véhicule avait Roues ou Options ou une autre sous-classe, ce serait une composition supplémentaire.

+0

Merci Alex. J'ai une question, comment la composition et l'agrégation fonctionnent ici. – SPD