Quelques rappels 2 - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Quelques rappels 2

Description:

public Cercle (int rayon) { this.rayon=rayon; } public Cercle plusGrand (Cercle c) ... Cercle x4 = x2.plusGrand(x1); //x4 == x2. Cercle x5 = Cercle.plusGrand ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 17
Provided by: Thom410
Category:

less

Transcript and Presenter's Notes

Title: Quelques rappels 2


1
Quelques rappels (2)
  • JAVA
  • 2ème année EURINSA

2
Redéfinition vs surcharge
  • Les classes récupèrent par héritage le
    comportement et létat initial de leurs ancêtres
    (super-classes)
  • Elles peuvent
  • Redéfinir des méthodes (méthodes homonymes)
  • Le compilateur choisit la bonne à partir du type
    effectif de linstance
  • Surcharger des méthodes (méthodes similaires)
  • Le compilateur choisit la bonne à partir de la
    signature
  • Ex surcharge des constructeurs (plusieurs
    const. de la même classe)
  • Les compléter (proposer de nouvelles méthodes)

3
Redéfinition vs surcharge (2)
Class Carre extends Rectangle private int
c public void zoom(int d) super.zoom(d,
d) public int aire() return c c
  • Class Rectangle
  • private int h, l
  • public void zoom(int dH, int dL)
  • h dH
  • l dL
  • public int aire()
  • return h l

REDEFINITION
SURCHARGE
En supposant les constructeurs des 2 classes
définis
Rectangle r1 new Rectangle(5,10) Rectangle r2
new Carre(4) Carre c3 new Carre(6) Carre c4
new Rectangle(5,10)
4
Les conteneurs (containers)
  • Peuvent contenir des éléments, des Canvas ou
    dautres containers
  • Émettent des événements en cas de réorganisation
  • Ouverture, fermeture, redimensionnement,
  • Possèdent un gestionnaire de disposition(layout
    manager)

5
Les conteneurs (containers)
Avec SWING JPanel JScrollPane
6
Les gestionnaires de disposition
Flow Layout (de gauche à droite)
Border Layout
Grid Layout
7
Les éléments dinterface
  • Peuvent recevoir des événements extérieurs que
    lon doit intercepter et gérer

Avec SWING JButton, JLabel, JTextField,
JTextArea,
8
Les événements
API de la classe WindowAdapter
  • De bas niveau
  • WindowEvent ouverture, fermeture, réduction
  • De haut niveau
  • ActionEvent click, double click, menu, entrée
    sur 1 zone de texte
  • ItemEvent sélection d1 liste, boîte
    déroulante,
  • TextEvent changement du texte dans 1 zone de
    texte

frame réactif à lévénement "e"
Code de la classe Application1
9
Les "écouteurs"
Code de la classe Frame1
  • 1 hiérarchie dinterfaces ou de classes qui
    doivent
  • Senregistrer auprès du composant (pour quil
    devienne réactif)
  • Définir les méthodes associées (qui reçoivent en
    paramètre lévénement)
  • On utilise souvent une classe anonyme
  • Création d1 instance de classe sans nom
    (utilisée 1 seule fois)
  • Cette classe redéfinit généralement des méthodes
    de la classe de base

Code de la classe Frame1
10
Créer sa classe "écouteur"


Code du fichier Frame1.java
API de linterface DocumentListener
11
Classe principale de lapplication graphique
CONSTRUCTEUR

Mécanisme de Gestion des Exceptions
Exemple du résultat produit
12
Fenêtreprincipale
Déclarations et constructions des containers et
des éléments dinterface
CONSTRUCTEUR


Appel dune méthode des objets jButton1
et jButton2

13
Organisation de JDev
14
Compilation et exécution
Run exécution (et compilation)
Compilation
Debug
Run exécution
15
Méthode statique
  • Déclarer une méthode "static"
  • Méthode de classe
  • Commune à tous les objets
  • Interdit de faire appel à this
  • dans le corps de cette méthode

API de la classe Integer
16
Méthode statique (2)
  • Déclarer une méthode "static"
  • Méthode de classe
  • Commune à tous les objets
  • Interdit de faire appel à this
  • dans le corps de cette méthode

Public class Cercle private int
rayon public Cercle (int rayon)
this.rayonrayon public Cercle plusGrand
(Cercle c) return rayon gt c.rayon ? this
c public static Cercle plusGrand (Cercle
c1, Cercle c2) return c1.rayon
gt c2.rayon ? c1 c2
Code du main
Cercle x1 new Cercle(5) Cercle x2 new
Cercle(10) Cercle x3 x1.plusGrand(x2)
//x3 x2 Cercle x4 x2.plusGrand(x1)
//x4 x2 Cercle x5 Cercle.plusGrand(x1
, x2) //x5 x2
Write a Comment
User Comments (0)
About PowerShow.com