cnam:utc503:td2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
cnam:utc503:td2 [2024/09/25 23:32] – [Questions :] jcheroncnam:utc503:td2 [2024/09/25 23:42] (Version actuelle) jcheron
Ligne 107: Ligne 107:
 Objectif : Travailler sur l'instanciation, les constructeurs et la surcharge. Objectif : Travailler sur l'instanciation, les constructeurs et la surcharge.
  
-  * Créer une classe Animal avec un attribut nom et une méthode parler qui retourne une chaîne de caractères indiquant que l'animal ne parle pas. +  * Créer une classe **Animal** avec un attribut nom et une méthode parler qui retourne une chaîne de caractères indiquant que l'animal ne parle pas. 
-  * Créer des classes dérivées Chien et Chat qui héritent de Animal : +  * Créer des classes dérivées **Chien** et **Chat** qui héritent de Animal : 
-    * Chien doit surcharger la méthode parler pour retourner "Ouaf"+    * Chien doit surdéfinir la méthode parler pour retourner "Ouaf"
-    * Chat doit surcharger la méthode parler pour retourner "Miaou".+    * Chat doit surdéfinir la méthode parler pour retourner "Miaou".
   * Créer un programme utilisant une liste d'animaux et faisant appel à leur méthode parler.   * Créer un programme utilisant une liste d'animaux et faisant appel à leur méthode parler.
  
Ligne 117: Ligne 117:
   * Comment la surdéfinition (overriding) est-elle utilisée pour implémenter le polymorphisme ?   * Comment la surdéfinition (overriding) est-elle utilisée pour implémenter le polymorphisme ?
   * Que se passe-t-il si on ajoute un nouvel animal, par exemple un Oiseau, avec sa propre méthode parler ?   * Que se passe-t-il si on ajoute un nouvel animal, par exemple un Oiseau, avec sa propre méthode parler ?
 +
 +
 +===== Exercice 6 : Bibliothèque de Livres =====
 +Objectif : Travailler sur l'instanciation, les constructeurs, l'encapsulation et les associations entre classes.
 +
 +Crée une classe **Livre** avec les attributs privés suivants :
 +
 +  * titre (chaîne de caractères)
 +  * auteur (chaîne de caractères)
 +  * isbn (chaîne de caractères)
 +  * nombrePages (entier)
 +
 +Implementer les méthodes suivantes :
 +
 +  * Un constructeur qui initialise un livre avec un titre, un auteur, un ISBN et un nombre de pages.
 +  * Des méthodes getTitre, getAuteur, getIsbn et getNombrePages pour accéder aux attributs.
 +  * Des méthodes setTitre, setAuteur, setIsbn, et setNombrePages pour modifier ces attributs.
 +
 +Créer ensuite une classe **Bibliotheque** avec les attributs suivants :
 +
 +  * nom (chaîne de caractères)
 +  * adresse (chaîne de caractères)
 +  * livres (liste d'objets Livre)
 +
 +Implementer les méthodes suivantes :
 +
 +  * Un constructeur pour initialiser une bibliothèque avec un nom, une adresse, et une liste vide de livres.
 +  * Une méthode ajouterLivre qui permet d'ajouter un livre à la bibliothèque.
 +  * Une méthode afficherLivres qui affiche la liste des livres avec leur titre, auteur et ISBN.
 +  * Une méthode rechercherLivre qui permet de rechercher un livre par son ISBN et le retourne.
 +
 +==== Question ====
 +  * Représenter le diagramme de classes
 +
  • cnam/utc503/td2.1727299964.txt.gz
  • Dernière modification : il y a 6 mois
  • de jcheron