Différences
Ci-dessous, les différences entre deux révisions de la page.
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/05 13:07] – jcheron | cnam:utc503:td2 [2024/09/25 23:42] (Version actuelle) – jcheron | ||
---|---|---|---|
Ligne 71: | Ligne 71: | ||
* Comment le constructeur facilite-t-il l’instanciation de nouveaux produits ? | * Comment le constructeur facilite-t-il l’instanciation de nouveaux produits ? | ||
- | ==== Exercice 4 : Classe pour les Vecteurs ==== | + | ===== Exercice 4 : Classe pour les Vecteurs |
Objectif : Travailler sur la surcharge des méthodes et l’instanciation. | Objectif : Travailler sur la surcharge des méthodes et l’instanciation. | ||
Ligne 86: | Ligne 86: | ||
* Une méthode **soustraire** qui accepte un autre vecteur ou deux coordonnées séparées et retourne la différence des vecteurs ou de leurs coordonnées. | * Une méthode **soustraire** qui accepte un autre vecteur ou deux coordonnées séparées et retourne la différence des vecteurs ou de leurs coordonnées. | ||
- | === Exemple : === | + | ==== Exemple : ==== |
Ligne 96: | Ligne 96: | ||
</ | </ | ||
- | === Questions : === | + | ==== Questions : ==== |
Ligne 102: | Ligne 102: | ||
* En quoi le constructeur facilite-t-il l' | * En quoi le constructeur facilite-t-il l' | ||
+ | |||
+ | ===== Exercice 5 : Héritage et Polymorphisme avec des Animaux ===== | ||
+ | |||
+ | Objectif : Travailler sur l' | ||
+ | |||
+ | * 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' | ||
+ | * Créer des classes dérivées **Chien** et **Chat** qui héritent de Animal : | ||
+ | * Chien doit surdéfinir la méthode parler pour retourner " | ||
+ | * Chat doit surdéfinir la méthode parler pour retourner " | ||
+ | * Créer un programme utilisant une liste d' | ||
+ | |||
+ | ==== Questions : ==== | ||
+ | |||
+ | * 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 ? | ||
+ | |||
+ | |||
+ | ===== Exercice 6 : Bibliothèque de Livres ===== | ||
+ | Objectif : Travailler sur l' | ||
+ | |||
+ | 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' | ||
+ | |||
+ | 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' | ||
+ | * 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 | ||