Approche Objet - Master 1 Informatique :

TD2 - TD3 Utilisation des containers, héritage et compilation.

Gestion des stocks de produits Version 2.

A partir de la précédente version de votre programme apportez les modifications suivantes:
  • Dans la classe Stock remplacez le tableau de produit par un objet de type Vector , vous utiliserez l'interface Iterator pour parcourir ce tableau dans vos boucles for.

    NB : n'hésitez pas à consulter la documentation java si vous ne savez pas comment utiliser ces types.

  • Testez que vous pouvez également parcourir ce vecteur avec une autre interface, par exemple Enumeration

  • De facon à pouvoir gérer aisément plusieurs stocks dans la classe MyShop séparez le main de cette classe en créant une classe MyAppli pour mettre le main et les menus qui l'accompagnent. Désormais MyShop est une classe qui contient un vecteur de stocks.

  • Vos menus permettront de choisir le stock sur lequel l'utilisateur veut travailler en donnant son nom. Les parcours du veceur de Stock se feront avec les mêmes interfaces que les parcours de vecteurs de produits.

Gestion des stocks de produits Version 3.

  • Testez la généricité des interfaces en remplacant dans la classe MyShop le vecteur de stock par un autre conteneur qui implémente aussi l'interface Iterator.

  • La classe Stock devient une sous-classe de Vector (ou d' un autre container suivant vos choix dans le programme) pour gérer les produits. Constatez les modifications nécessaires pour que votre programme continue de marcher.

  • Créer 2 sous classes de la classe Product une pour les produits alimentaires et l' autre pour les produits sanitaires. Les produits alimentaires sont caractérisés par une date limite de consomation (que vous coderez comme bon vous semble). Vous créerez une méthode qui retourne un booléen pour préciser si le produit peut encore être mis en vente (date limite inf. de 3jours à la date courante). La classe Product devient abstraite. Vous créez désormais des produits alimentaires ou sanitaires.

  • Compilez et vérifiez que votre programme fonctionne toujours.

Ajout dans la classe MyAppli de fonction de sauvegarde.

  • Vous proposerez à l'utilisateur de sauvegarder son ou ses stocks dans un ou plusieusr fichiers de texte. Vous êtes libre de mettre en place les conventions que vouz désirez pour créer ce fichier. N' hésitez pas à vérifier comment vous avez écrit en ouvrant ce fichier dans un éditeur pour vérifier vos opérations.
  • Vous proposerez ensuite de relire ce ou ces stocks pour recharger votre magasin au lieu de ressaisir à chaque fois à partir du clavier.

Création d'un menu vente dans la classe MyAppli .

  • Pour terminer cet exercice vous implémenterez un menu vente dans MyApply . Vous prendrez soin de vérifier qu' un produit est toujours disponible. Attention, on ne supprime jamais un produit du stock, on décrémente la quantité en stock. Un produit indisponible est un produit dont la quantité est à 0. Pour les produit alimentaires il faudra aussi vérifier la date de consommation.