Dans une classe commande qui permet de gérer la commande d'un client dans un site marchand, nous devons y stocker la liste des lignes de commandes (OrderLines).
Devant gérer plusieurs types de lignes de commandes en fonction des produits commandés : Téléphone (géré par la classe ObjectOrderLine), abonnement (géré par la classe SubscriptionOrderLine)
Notre classe commande ressemblera donc à cela
class Order {
private long id;
private User user;
private List
...
}
Le client commande une liste d'objet & accessoires
List
Il ne sera pas possible de faire
order.getOrderLines.addAll(orderedObjects);
En effet, le compilateur s'attend à avoir une liste d'objet du type OrderLine et non pas une de ses sous classes.
Dans ce cas, il suffit d'utiliser les wildcards pour s'en sortir aisement.
class Order {
private List orderLines;
}
la classe ! ton premier article sur un bloooog !
RépondreSupprimer