[PDF] TD de programmation orientée objet en Java Héritage





Previous PDF Next PDF



TD 3 & 4 Java : initiation à la notion de classe héritage

Exercice 1 : Analyse d'un programme Java. Corriger-les en codant et en commentant ces ... Exercice 3 : Héritage de classe et polymorphisme.



Corrigés des exercices sur lhéritage

Corrigés des exercices sur l'héritage. Exercice 6.1.1 comptes bancaires. On reprend les classes de comptes bancaires du cours (chapitre 16) : CompteBancaire 



Cours 5 : lhéritage Solutions

Java. Licence professionnelle CISII 2009-2010. Cours 5 : l'héritage. Solutions Corrigé. ? La classe Animal : class Animal. { protected int nbPattes;.



TP - Séance n 4 Héritage Modélisation

Héritage Modélisation Exercice 1 (Héritage et polymorphisme de base) ... contentez vous de créer le fichier Magasin.java qui vous permettra de faire ...



TD de programmation orientée objet en Java Héritage

TD de programmation orientée objet en Java. Héritage. Exercice 1 : Animaux. Commencez par écrire une classe qui s'appelle Animal. Celle-ci doit comporter.



Corrigés des exercices sur lhéritage (suite)

Corrigés des exercices sur l'héritage. (suite) retraçant les relations d'héritage entre classes ... Exo19_1_3.java:7: cannot find symbol.



Corrigés des exercices sur les interfaces

Corrigés des exercices sur les interfaces. Exercice 5.1.1 Animaux. Certain animaux peuvent crier d'autres sont muets. On représentera le fait de crier au 



01/04/2009 - TD 5 Java : initiation à la notion de classe héritage

1 avr. 2009 Exercice 4 : Objectifs : classes abstraites héritage



Exercices de Programmation Orientée Objet en Java

A quel affichage conduit l'exécution du programme (éventuellement corrigé)? class Test { int i;. Test(Test t) { if(t == null) this.i = 



QCM de Java corrigé

QCM de Java corrigé. 1. Java est un langage Le compilateur compile le code source vers un bytecode la machine virtuelle Java ... l'héritage.

Université Paris 1 Panthéon-SorbonneAnnée Universitaire 2014/2015TD de programmation orientée objet en Java

Héritage

Exercice 1 : Animaux

Commencez par écrire une classe qui s"appelleAnimal. Celle-ci doit comporter uniquement : une métho dequi s"app ellecriqui ne prend aucun paramètre en entrée et qui retourne une chaîne de caractères vide. une redé finitionde la métho detoStringqui retourne simplement la chaîne de caractères "Je suis un animal". Maintenant, créez une classe qui s"appelleChatqui hérite de la classeAnimalet qui : redéfinit la métho decriafin de retourner la chaîne de caractères "Miaaaw!". redéfinit la métho detoStringafin de retourner la chaîne de caractères "Je suis un chat!". Enfin, créez une troisième classe qui s"appelleChienqui hérite, elle aussi, de la classeAnimalet qui contient : une redéfinition de la métho detoStringqui retourne la chaîne de caractères "Je suis un chien!". une métho dequi s"app elleaboyerqui ne prend aucun paramètre en entrée et qui retourne la chaîne de caractères "Haw haw!".

Testez vos trois classes grâce au bout de code suivant. Que remarquez vous?publicclass TestAnimaux {

public static void main(String[] args) {

Création

d un animal un chat et un chien

Animal animal =

new

Animal();

Chat chat =

new

Chat();

Chien chien =

new

Chien();

Affichage

des trois animaux toString

System.out.println(animal);

System.out.println(chat);

System.out.println(chien);

Affichage

des cris des animaux

System.out.println(animal.cri());

System.out.println(chat.cri());

System.out.println(chien.cri());

System.out.println(chien.aboyer());//On cons idèrele chat et le chien comme étant des animaux

Animal achat = chat;

Animal achien = chien;

System.out.println(achat);

System.out.println(achien);

Essayez d"ajouter l"instructionSystem.out.println(achien.aboyer());à la fin du code. Est-ce que ça fonctionne? Pourquoi?

Exercice 2 : Formes 2D

Créez une classe qui s"appelleForme2Dqui représente, de façon générique, des formes géométriques à deux dimensions. Cette classe doit contenir : un attribut don tla visibilité est privatequi s"appellecouleuret qui représente la couleur de la forme en question (vous pouvez utiliser le type JavaColor). un constructeur par défaut (qui ne prend aucun paramètre) qui crée une forme

2D dont la couleur est noire.

un constructeur qui prend en paramètre une couleur et qui crée une forme 2D dont la couleur correspond à celle-ci. un accesseur qui p ermetde récup érerla v aleurde la couleur de la forme 2D. une méth odeaire(qui est sensée retourner l"aire de la forme 2D) qui retourne

0. (N.B. Cette méthode sera redéfinie dans les classes filles deForme2Dpour

calculer l"aire correctement) une métho deperimetre(qui est sensée retourner le périmètre de la forme 2D) qui retourne 0. (N.B. Cette méthode sera redéfinie dans les classes filles de Forme2Dpour calculer le périmètre correctement) Maintenant, créez une classeRectanglequi hérite de la classeForme2D. La classe

Rectangledoit contenir :

deux attributs supplémen taireslongueuretlargeur. un constructeur qui prend en paramètres une couleur, unelongueuret une largeuret qui instancie le rectangle correspondant. les accesse ursadéquats p ourles de uxattributs longueuretlargeur. une redéfinition de la métho deairequi retourne l"aire du rectangle. une redéfinition de la métho deperimetrequi retourne le périmètre du rec- tangle.Cours : L. Boyer & F. Rossi Énoncé conçu par M. K. El Mahrsi L3 MIASHS

Université Paris 1 Panthéon-SorbonneAnnée Universitaire 2014/2015Créez également une classeDisquequi hérite elle aussi de la classeForme2Det qui

contient : un attribut q uis"app ellerayon. un cons tructeurqui prend une couleuret unrayonen paramètre et qui crée le disque correspondant. un accesse urp ourl"attribut rayon. une métho dediametrequi renvoie le diamètre du disque. les redéfinitions des métho desaireetperimetrequi calculent l"aire et le péri- mètre d"un disque correctement. Au choix dans l"une des deux classesRectangleetDisque, essayez d"écrire un modificateursetCouleurqui prend en paramètre une couleur et qui l"attribue à la forme concernée (autrement dit, essayez de modifier l"attributcouleurqueRectangle etDisquehéritent de leur classe mèreForme2D). Est-ce que ça marche? Pourquoi? Modifiez la visibilité de l"attributcouleurdans la classeForme2Dpour la passer en protected. Est-ce que ça marche maintenant? Amusez-vous (mais pas trop :-P ) à créer des rectangles et des disques. Considérez les tantôt comme appartenant à leurs classes spécifiques, tantôt comme étant des formes 2D et vérifiez quelles sont les méthodes que vous pouvez invoquer ou non.

Exercice 3 : Pokémon

Les Pokémon sont certes de très mignonnes créatures, mais ils sont également un bon exemple pour illustrer l"héritage. Je vous propose donc de commencer par créer une classePokemonqui contient (entre autres) : un attribut nomqui représente le nom du Pokémon. un attribut hp(pour Health Points) qui représente les points de vie du Poké- mon. un attribut qui s"app elleatkqui représente la force de base de l"attaque du

Pokémon.

un constructeur p ourinstancier des P okémonadéquatemen t. des getters (acces seurs)qui p ermettentde consulter les attributs du P okémon. une métho deisDead()qui retourne unbooleanpour indiquer si un Pokémon est mort (hp == 0) ou non. une métho deattaquer(Pokemon p)qui permet au Pokémon appelant d"atta- quer le Pokémon passé en paramètre. L"attaque déduitatkpoints de la viehp du Pokémon attaquép. une redéfinition de la métho detoStringqui affiche les informations du Poké- mon. En plus des Pokémon normaux (décrits à travers la classePokemon) on ressence trois types de Pokémon. Les Pokémon de type Feu, les Pokémon de type Eau et les Pokémon de type Plante (en réalité il existe 17 types en tout mais on ne va pas s"amuser à tous les coder) : les P okémonde t ypeF euson tsup erefficaces con treles P okémonde t ype

Plante et leur infligent deux fois plus de dégâts (2*atk). Par contre, ils sonttrès peu efficaces contre les Pokémon de type Eau ou de type Feu et ne leur

infligent que la moitié des dégâts (0.5*atk). Ils infligent des dégâts normaux aux Pokémon de type Normal. les P okémonde t ypeEau son tsup erefficaces con treles P okémonde t ype Feu et leur infligent deux fois plus de dégâts (2*atk). Par contre, ils sont très peu efficaces contre les Pokémon de type Eau ou de type Plante et ne leur infligent que la moitié des dégâts (0.5*atk). Ils infligent des dégâts normaux aux Pokémon de type Normal. enfin, les P okémonde t ypePlan teson tsup erefficaces con treles P okémonde type Eau et leur infligent deux fois plus de dégâts (2*atk). Par contre, ils sont très peu efficaces contre les Pokémon de type Plante ou de type Feu et ne leur infligent que la moitié des dégâts (0.5*atk). Ils infligent des dégâts normaux aux Pokémon de type Normal. Créez trois classesPokemonFeu,PokemonEauetPokemonPlantequi héritent de la classePokemonet qui représentent les trois types de Pokémon susmentionnés. En- suite, amusez-vous à faire des combats de Pokémon. Remarque : Connaitre le nom de la classe d"un objet Afin de connaitre la classe à laquelle un objetoappartient, vous pouvez utiliser la méthodegetClass()(appel :o.getClasse()). Pour connaitre le nom de cette classe, vous pouvez utiliser la méthodegetName()(o.getClass().getName()) qui retourne le nom complet de la classe (y compris le nom du package auquel elle appartient) ou la méthodegetSimpleName()(o.getClass().getSimpleName()) qui retourne seulement

le nom de la classe sans le nom du package.Cours : L. Boyer & F. Rossi Énoncé conçu par M. K. El Mahrsi L3 MIASHS

quotesdbs_dbs5.pdfusesText_9
[PDF] exercice javascript formulaire corrigé

[PDF] exercice jeu a 3 basket

[PDF] exercice la houle

[PDF] exercice laser terminale s

[PDF] exercice lentille convergente 1ere es

[PDF] exercice lentille convergente 1ere s

[PDF] exercice lettre de change

[PDF] exercice lettre g ce2

[PDF] exercice ln et exp

[PDF] exercice ln et exponentielle bac pro

[PDF] exercice logigramme corrigé

[PDF] exercice logique combinatoire avec correction

[PDF] exercice logique mathématique corrigé

[PDF] exercice loi binomiale corrigé stmg

[PDF] exercice loi binomiale pdf