Soit le diagramme de classe suivant :

  1. Réaliser la classe Personne avec un constructeur qui prenne en paramètre le nom. La classe sera abstraite. On ne pourra instancier des Personnes.
  2. Déclarer la méthode abstraite creationCompte dans Personne.
  3. Réaliser les accessseurs et modificateurs en pensant à mettre les visibilités adéquates, i.e. les propriétés à private.
  4. Réaliser la classe Fournisseur. Cette classe sera final, elle ne pourra être héritée.
  5. Réaliser une méthode static dans le fournisseur qui renvoie son numéro. Le numéro correspond au nombre de fournisseur crée dans votre programme.
  6. Ajouter une variable static qui represente le nombre de fournisseur que vous avez créer dans votre programme. On initialisera la variable à 0. On l’incrémentera dans le constructeur.
  7. Instancier un Fournisseur.
  8. Modifier la propriété categorie et nom de votre objet Fournisseur.
  9. Réaliser la classe Client avec aucun paramètre dans le constructeur.
  10. Réaliser un deuxieme constructeur (tout en gardant le premier) qui prend en parametre le nom
  11. Réaliser les accesseurs et modificateurs.
  12. Hériter la classe de Personne et définir la méthode creationCompte qui renverra un entier aléatoire representant le numéro du compte.
  13. Réaliser la navigabilité entre le fourisseur et le client. On ajoutera ici l’objet fournisseur dans le client.
  14. Instancier deux clients en affectant le fournisseur à chaque client. On les enregistrera dans un tableau.
  15. Définir une méthode static dans Client qui ne prend en parametre que des clients et qui leur ajoute 5% à leur taux de réduction.
  16. Définir la méthode __toString dans client et afficher les deux clients.

Soit l’interface suivante

Interface iTd{
  Public function verifReduction() ;
}
  1. Implémenter cette interface dans le client. La fonction devra verifier que le taux n’est pas supérieur à 20% et renverra un booléan.
  2. Cloner votre deuxieme client en définissant au préalable la méthode clone. On testera en modifiant le nom du client puis le nom du fournisseur de ce client et on verifiera que la valeur entre les deux clients n’est pas identiques