Master 1 SIGLIS Jave Lecteur Stéphane Tallard Chapitre 5 – Correction TD.

Slides:



Advertisements
Présentations similaires
SI3 MAM3 Hydro Nathan Cohen Igor Litovsky Christophe Papazian
Advertisements

Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
Tarak Chaari, Stéphane Frénot, Frédérique Laforest, Frédéric Le-Mouël JAV1 JAV – TD 5 Lhéritage en Java.
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
PHP5 poo.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Leçon 3 : Héritage IUP 2 Génie Informatique
Introduction à la POO: Les classes vs les objets
Présentation des tables des matières j puis appuyez sur F5 ou cliquez sur Diaporama > Du début. Pour commencer le cours, dans la barre des messages, cliquez.
Chapitre III Héritage (début)
FSAB1402: Informatique 2 Techniques de Programmation Orientée Objet
Programmation orientée objet
Les profils utilisateurs. Concept La notion dutilisateur est héritée des systèmes Unix Permet de gérer au mieux la sécurité et lappel aux diverses fonctions.
POWERPOINT 97 POMazagol Les barres d'outils PowerPoint donne la possibilité douvrir de nombreuses « barres doutils ». Pour ajouter ou enlever une barre.
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Langage Oriente Objet Cours 4.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Laboratoire d'Informatique de l’Université de Franche-Comté
28 novembre 2012 Grégory Petit
IFT1025, Programmation 2 Jian-Yun Nie
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
C++ : classes Introduction aux Langages Orientés Objets
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
Classes abstraites et Interfaces
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Test et débogage Tests unitaires. Gestion d’erreurs. Notion d’état, de pré-condition et de post-condition. Assertion. Traces de programme. Débogueur et.
Structures de données IFT-2000
Introduction au paradigme orienté-objet (suite)
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
ROLE DES DIFFERENTS ELEMENTS
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
99 Réutilisation du code grâce à l'héritage. 9-2 Objectifs À la fin de ce cours, vous serez capables de : Définir l'héritage Utiliser l'héritage pour.
Structures de données IFT-2000 Abder Alikacem L’héritage en C++ Département d’informatique et de génie logiciel Édition Septembre 2009.
Patrons de conceptions de créations
Héritage Licence Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier.
Quelques exemples d ’utilisation des coordonnées au collège
Travaux Pratiques Représentation des connaissances
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
Programmation objet La base.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 6 – Exceptions.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 1 – Objets et Classes Master 1 SIGLIS1Java Lecteur - Chapitre 1 Objets et classes.
Tutorat en bio-informatique
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
PHP 7° PARTIE : PROGRAMMATION OBJET
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
C++ L’HERITAGE Fayçal BRAÏKI DUT INFORMATIQUE.
Réaliser par: Sadok Amel Cheboui hassiba
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 4.
Les classes présenté par: RAHMOUNE RIME / ZEKRI SELMA.
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
ISBN Chapitre 10 L'implémentation des sous- programmes.
Héritage H. Batatia. plan Notion (que signifie l’héritage) Ecriture en java Héritage multiple (interdit) Instanciation (partie propre et partie héritée)
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Héritage Conception par Objet et programmation Java
Master 1 SIGLIS Systèmes d’Information pour l’entreprise – Java RMI Stéphane Tallard Mise en œuvre de l’exemple Bonjour RMI Master 1 SIGLIS1 Intégration.
Campus-Booster ID : Copyright © SUPINFO. All rights reserved La programmation objet, un fondement de la programmation évènementielle.
Classes abstraites, interface Classe interne Classes enveloppes
QCM VBA.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 3.
Faire déplacer le personnage à l’aide des flèches du clavier Il y a plusieurs façon de procéder selon nos attentes, mais en voici une qui est très simple:
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 2.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 1 – Correction TD Chapitre 1.
PRESENTATION FLASH 2 MAURIN Marion BERETTI Vincent.
LES CLASSES ET LES OBJETS
Introduction à la Programmation Orientée Objet H.GATI.
FACTORY systemes Module 6 Section 1 Page 6-3 Les ActiveX FORMATION INTOUCH 7.0.
Transcription de la présentation:

Master 1 SIGLIS Jave Lecteur Stéphane Tallard Chapitre 5 – Correction TD

Master SIGLIS2 Ouvrez la classe Ch5.java et lisez attentivement la méthode main de ce projet. Au besoin, exécutez la au debugger. Quels sont les objets qui sont créés ? un objet de la classe Dessin, 3 objets de la classe Cercle, 3 objets de la classe Carre, Trois objets de la classe Triangle. Quels sont les objets représentant les figures ? Les Cercle, les Carre, les Triangle. Quels sont les autres objets et quels sont leur fonction ? L'objet de la classe Dessin gère le dessin global. Nous allons analyser la classe Point. Ouvrez Point.java et lisez attentivement cette classe. Quels sont les attributs que contient cette classe ? Que représente cette classe ? deux attributs de type long : x et y. Elle représente un point. Repérez le constructeur de cette classe. Quel est l'intérêt de créer un tel constructeur ? C'est un raccourci. Comme tout point doit contenir un abscisse et une ordonnée, il évite une instanciation + un appel à setX + un appel à setY. Les attributs de cette classe sont déclarés en private. Quel impact cela a-t-il sur son utilisation ? On ne peut pas y accéder directement. Regardez les méthodes de cette classe. Quelle est leur utilité ? Il permettent de protéger les attributs. Pour les modifier et les lire, il faut passer par ces méthodes. Quel est l'intérêt de concevoir la classe Point de cette façon ? On a "encapsulé" la notion de point. Il serait facile de modifier la classe Point pour qu'elle gère les inconsistances de données (coordonnées négatives, … ). Ouvre maintenant la classe Figure. Lisez-la attentivement.

Master SIGLIS3 Quels sont les attributs que contient cette classe ? Que représente cette classe ? Figure ne contient pas d'attribut. C'est une abstraction de la notion de figure. L'instruction "extends Figure" signifie que la classe Cercle hérite de la classe Figure. Listez toutes les autres classes qui héritent de la classe Figure. Cercle, Carre, Triangle héritent de figure. Regardez maintenant la méthode dessiner de la classe Cercle. A votre avis que fait-elle ? Pour vous aider vous pouvez aller voir sur à la section "Ellipse". Elle dessine un cercle. Regardez maintenant chacune des méthodes dessiner des autres sous-classes de Figure. Que font- elles ? Elles se dessinent … Regardez maintenant la méthode dessiner de la classe Figure. Pourquoi est-elle programmée comme cela ? Une figure ne contient pas de points : il n'a aucune information pour se dessiner. Elle ecrit un message d'erreur. Ouvrez maintenant Dessin.java. Que fait la méthode ajouterFigure ? Quel est le type du paramètre en entrée ? AjouterFigure rajoute une figure dans le tableau en s'assurant que l'on a moins de 100 figures. Revenez maintenant dans la classe Ch5. Repérez les appels à la méthode ajouterFigure. Comment se fait-il que l'on puisse passer à ajouterFigure des objets de type Cercle, Carré ou Triangle ?

Master SIGLIS4 Cercle, Triangle et Carre étant des sous classe de Figure on peut utiliser des instances de ces classes à la place d'une instance de figure. Revenez maintenant sur Dessin.java. Quel est l'intérêt de déclarer ajouterFigure comme prenant en paramètre un objet de type Figure ? aJouterFigure pourra être appelée avec en paramètre n'importe quelle instance d'une sous classe de Figure. Observez l'attribut figures de la classe Dessin. De quel type est-il ? Quel est l'intérêt de le déclarer de cette façon ? C'est un tableau de Figure. Il peut contenir des Cercles, des triangles, des carrés. Vous allez maintenant créer votre propre figure : le Rectangle. Ouvrez la classe Ch5.java. Ajouter quelques rectangles artistiquement disposés et afficher le résultat final. Si tout s'est passé correctement, vous devriez voir des rectangles apparaître. cf Correction. Prenons de la hauteur: Quelles sont les opérations à faire pour ajouter à la bibliothèque de dessin, de nouvelles figures ? Combien de classes existantes faut-il modifier (la classe Ch5 n'est pas considérée comme faisant partie de la bibliothèque : on peut la voir comme une classe "utilisatrice") ? Il suffit de créer une sous classe de Figure et de programme la façon dont elle se dessine. Quel est l'intérêt de l'héritage dans le cas de cette application de dessin ? Limiter le nombre de classes à modifier lorsqu'on étend la bibliothèque. Diminuer la complexité du code (pas de if-then-else).

Master SIGLIS5 Listes génériques cf Ch5.java