Package traçable Tatiana Aubonnet.

Slides:



Advertisements
Présentations similaires
Spécialisation/généralisation Héritage Polymorphisme
Advertisements

Introduction à la Programmation Orientée Objet Retour sur les principaux concepts SI3 MAM3 Hydro Nathan Cohen
F. Voisin : Introduction à Java 1 Introduction à Java - les interfaces - Frédéric VOISIN FIIFO - « Remise à Niveau »
Tarak Chaari, Stéphane Frénot, Frédérique Laforest, Frédéric Le-Mouël JAV1 JAV – TD 5 Lhéritage en Java.
Exercice 1 1 (père) et 1 (fils) 1 (père) et 0 (fils)
Chapitre IV Object, interfaces, classes imbriquées.
JavaBeans Réalise par: EL KHADRAOUY TARIK AOUTIL SAFOWAN.
POO-L3 H. Fauconnier1 Chapitre IV 1. classe Object, clonage 2. interfaces 3. classes internes et imbriquées.
Faculté I&C, Claude Petitpierre, André Maurer 1 Java.
Écouteurs de click d'une fenêtre
Langage Oriente Objet Cours 4.
POO-L3 H. Fauconnier1 Tableau et héritage Y[] yA=new Y[3]; X[] xA=yA; //ok xA[0]=new Y(); xA[1]=new X(); //non xA[1]=new Z(); //non Object XX[]int[] YZY[]Z[]
Chapitre VII Généricité. POO-L3 H. Fauconnier2 Chapitre VII 1. Principes généraux 2. Types génériques imbriqués 3. Méthodes génériques 4. Types paramètres.
IFT1025, Programmation 2 Jian-Yun Nie
Java Héritage, interfaces.
Classes abstraites et Interfaces
Langage Oriente Objet Cours 2.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Design Pattern Memento. Principe : Enregistrer les changements d'états d'un objet Objectif : Pouvoir restituer les états précédents d'un objet.
Design Pattern: Decorator
1 Les paquetages («packages»). 2 L'objectif avec les paquetages («packages») est de rendre accessibles aux utilisateurs des classes définies par d'autres.
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
Cours 5 Héritage, Interfaces, classes internes. POO-L3 H. Fauconnier2 La classe Object Toutes les classes héritent de la classe Object Object méthodes:
COURS DE PROGRAMMATION ORIENTEE OBJET :
1 Fichers Binaires, Accès Direct et Objets. 2 Données binaires. Il s'agit ici de lire et écrire des données binaires par opposition à du texte. Pour ce.
LIFI-Java 2004 Séance du Mercredi 22 sept. Cours 3.
La notion de type revisitée en POO
Cours 7 Classes locales Clonage Divers: tableaux.
Interfaces graphiques. Composants d'interface utilisateur graphique (GUI) 1 Bibliothèques Awt et Swing Procédures communes pour l'utilisation de ces clases.
Tutorat en bio-informatique
Constructeurs H Batatia. Variable statique Une variable statique est partagée par tous les objets d’une classe.
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.
C# de plus près.  Ce sont globalement les mêmes que Java : ◦ Int(int16, int32), float, double, bool,…  Les classe « communes » sont également les mêmes.
Cours du 5 novembre.
IUT du Limousin L.U.P Michel Vergnaud Programmation Objet - Java.
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)
LIFI-Java 2004 Séance du Mercredi 29 sept. Cours 4.
Introduction à la programmation objet avec java
Héritage Conception par Objet et programmation Java
Cours du 26 octobre  Classes internes  Clones POO-L3 H. Fauconnier1.
IUT du limousin L.U.P Michel Vergnaud Programmation Objet - Java.
Classes abstraites, interface Classe interne Classes enveloppes
pour les programmeurs en C++ Java 2 Part 1 3 Histoire de Java Projet de connexion des machines: 1991 Le nom Java a été introduit dans un café Développé.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Correction du TD Chapitre 2.
Cours N°4 Mohamed El Hacen Mohamed Dyla Institut professionnel universitaire 1.
Java Swing. Principes de base  Des composants graphiques (exemple: JFrame, JButton …)  Hiérarchie de classes  Des événements et les actions à effectuer.
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 3 IJA Bases du langage bibliothèques standards composition communication entre objets.
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA.
Java. RMI - p. 1 C.Bac Java Remote Method Invocation Christian Bac Original Olivier Dedieu.
Station #1 Calcule la surface totale de ce prisme triangulaire. Pour construire les boite pour le barre de chocolat Toblerone, il faut dessiner le développement.
Chapitre 1 Introduction aux concepts et à la programmation objet
Modèle objet : les classes
java : l'héritage (rappel)
Pas de variable globale
Les notions de classe et d'objet
PROJET JAVA Automatisation d’une rame de métro
Langages de programmation TP7
Périmètre et aire.
E) Constructeurs et héritage
Puzzler.
Programmation Orientée Objet C# El Akel Bouchra ISMONTIC Tanger 2013/2014.
Les fondements de la programmation en JAVA
Schéma de conception Factory Method Exemple
Programmation par Objets et Java
INTERFACE ET POLYMORPHISME
Variables et accès en Java
Les interfaces de gestion d’événements (la suite)
TP N°6: Construction d’un Serveur Multi-Client
Transcription de la présentation:

Package traçable Tatiana Aubonnet

L’interface Tracable package tracable; public interface Tracable {     public static final int DIM_MAX = 500;     public void dessiner(java.awt.Graphics g); }

Une classe pour définir un Cercle La classe Cercle nous servira de superclasse. l’utilisation de la constante statique PI issue de la classe java.lang.Math. package tracable; public class Cercle {     int rayon;     public Cercle(int rayon) {         this.rayon = rayon;     }     public int getRayon() {         return rayon;     }    double circonference() {         return 2 * Math.PI * rayon;     } }

Une classe qui étend Cercle et implémente l'interface Tracable package tracable; public class CercleGraphique extends Cercle implements Tracable {     private int x, y;                   // x et y : coordonnees du centre du cercle     private java.awt.Color couleur;     // couleur : la couleur du cercle     public CercleGraphique(int rayon, int x, int y, java.awt.Color couleur) {         super(rayon);         this.x = x;         this.y = y;         this.couleur = couleur;     }     public void dessiner(java.awt.Graphics g) {         int rayon = getRayon();         if (rayon < DIM_MAX) {             g.setColor(couleur);             g.drawOval(x - rayon, y - rayon, 2*rayon, 2*rayon);         }     } }

Une classe pour définir un carré Elle sera étendue en une classe implémentant l’interface Tracable et permettra d’avoir deux classes différentes implémentant Tracable. package tracable; public class Carre {     private int cote;     public Carre(int cote) {         this.cote = cote;     }     public int getCote() {         return cote;     }     public int surface() {         return cote*cote;     } }

Une classe qui étend Carre et implémente Tracable package tracable; import java.awt.Color; import java.awt.Graphics; public class CarreGraphique extends Carre implements Tracable { private int x, y; //coordonnees du centre private Color couleur = Color.BLACK; // couleur par défaut du carre public CarreGraphique(int cote, int x, int y) { super(cote); this.x = x; this.y = y; } public CarreGraphique(int cote, int x, int y, Color couleur) { this(cote, x, y); this.couleur = couleur; } public void dessiner(Graphics g) { int cote = getCote(); if (cote < DIM_MAX) { g.setColor(couleur); g.drawRect(x - cote/2, y - cote/2, cote, cote); } } }

Un tableau de Tracable l’exemple suivant : on construit un tableau de Tracable pour les différents ingrédients d’un dessin qu’on souhaite obtenir ; la méthode dessiner, spécifiée dans Tracable, est appliquée sur chacune des instances du tableau. package tracable; import java.awt.Graphics; import java.awt.Color; import java.awt.Dimension; import javax.swing.JPanel; import javax.swing.JFrame; public class EssaiTracable extends JPanel {     Tracable[] desFormes = new Tracable[5];     public EssaiTracable() {         setPreferredSize(new Dimension(200, 200));         desFormes[0] = new CercleGraphique(75, 100, 100, Color.BLACK);         desFormes[1] = new CercleGraphique(10, 65, 75, Color.BLUE);         desFormes[2] = new CercleGraphique(10, 135, 75, Color.BLUE);         desFormes[3] = new CarreGraphique(10, 100, 110, Color.MAGENTA);         desFormes[4] = new CarreGraphique(15, 100, 150, Color.RED);     }     public void paintComponent(Graphics g) {         super.paintComponent(g);         for (Tracable forme : desFormes) forme.dessiner(g);     }     public static void main(String[] arg) {         JFrame monDessin = new JFrame();         monDessin.setContentPane(new EssaiTracable());         monDessin.pack();         monDessin.setVisible(true);     } }