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/25 23:30] – [Exercice 4 : Classe pour les Vecteurs] 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 103: | Ligne 103: | ||
- | ==== Exercice 5 : Héritage et Polymorphisme avec des Animaux ==== | + | ===== Exercice 5 : Héritage et Polymorphisme avec des Animaux |
Objectif : Travailler sur l' | 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 une classe |
- | * Créer des classes dérivées Chien et Chat qui héritent de Animal : | + | * Créer des classes dérivées |
- | * Chien doit surcharger | + | * Chien doit surdéfinir |
- | * Chat doit surcharger | + | * Chat doit surdéfinir |
* Créer un programme utilisant une liste d' | * Créer un programme utilisant une liste d' | ||
- | === Questions : === | + | ==== Questions : ==== |
* 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 | + | * Que se passe-t-il si on ajoute |
+ | |||
+ | |||
+ | ===== 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 |