This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2017_2018:s3:concprogobjet:td:td5 [2017/10/27 11:01] blay [Petit pas vers l'intégration] |
2017_2018:s3:concprogobjet:td:td5 [2017/10/27 12:14] (current) blay [Classe abstraite comme un moyen d'intégration] |
||
---|---|---|---|
Line 50: | Line 50: | ||
Pour vous aider : | Pour vous aider : | ||
- | * Find renvoie l'Item le moins cher : Par exemple, un vol ou une location de voiture qui correspond à la description (même date, durée attendue, point de départ, point d'arrivée). | + | * Un voyage (''Trip'') correspond à un vol (le moins cher qui vous amène à destination le jour voulu), une location de voiture sur place (pour la durée de votre séjour) et éventuellement des nuits d'hôtels si vous l'avez implémenté. |
+ | * ''Find'' renvoie l'Item le moins cher : Par exemple, un vol ou une location de voiture qui correspond à la description (même date, durée attendue, point de départ, point d'arrivée). | ||
+ | * Attention, vous avez peut etre un probleme pour le ''find'' dans ''CarRentalService''. En effet, pour obtenir des ''CarRental'' actuellement il est nécessaire de réserver la voiture (''book''). Or vous ne voulez récupérer qu'une seule location de voiture, et la moins chère, d'où les solutions possibles suivantes : | ||
+ | * Comme il s'agit d'un simple TD, vous pouvez ne louer que la voiture la moins chère en partant du principe que le prix sera proportionnel (indépendamment de la durée); | ||
+ | * Vous louez toutes les voitures, ce qui n'est pas très réaliste, mais ce n'est qu'un TD... | ||
+ | * Vous redéfinissez une fonction de tri dans le service qui utilise une fonction de calcul de prix à partir du prix de la voiture et de la durée. | ||
* Un exemple de code pour createATrip | * Un exemple de code pour createATrip | ||
- | + | <code java> | |
- | + | public Trip createATrip(Description d) { | |
- | ===== Classe abstraite comme un moyen d'intégration ===== | + | Trip trip = new Trip(d); |
+ | services.forEach(service -> | ||
+ | {trip.addItem(service.find(d));} ); | ||
+ | return trip; | ||
+ | } | ||
+ | </code> | ||
+ | ===== Classe abstraite comme un moyen d'intégration (facultatif) ===== | ||
A votre demande, voici l'exemple du cours sur les portes revisités sur l'exemple des avions qui ont un prix qui change dynamiquement. | A votre demande, voici l'exemple du cours sur les portes revisités sur l'exemple des avions qui ont un prix qui change dynamiquement. |