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:31] 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 116: Ligne 116:
  
   * 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 tu ajoutes 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.1727299916.txt.gz
  • Dernière modification : il y a 6 mois
  • de jcheron