1.séance 1
1.séance 1
1.séance 1
ENSAM
2019-2020
Descriptif POO
• Programmation orientée objet Java
– Présentation générale du langage Java
– Syntaxe et compilation
– Machine virtuelle et environnement d'exécution
– Types de base, types tableaux, références et affectation
– Structures de contrôle (conditionnelles et boucles)
• Concepts de base de l’approche objet
– Objets et classes
– Encapsulation
– Héritage
– Abstraction et interfaces
– Polymorphisme
• Gestion des exceptions
• Les entrées sorties en Java
– Structures de données en java : les collections
• Interfaces graphiques et gestion des événements
Sommaire
Typage de données
Ch I. JAVA: les bases
class NomDuType {
/* Corps de la classe: instructions de définitions
des méthodes et des champs */
}
Dans la définition de la classe (corps de la classe),
on met deux types d’éléments:
class UnTest {
float x;
int i;
boolean b;
}
Définition des méthodes
La définition de base d’une méthode ressemble à la
définition d’une fonction en C.
typeRetour nomMethode (/* Liste des parametres
*/) {
/* corps de la méthode */
}
- nomMethode est le nom de la méthode
- Liste de paramètre (arguments de la méthode) donne
les types et les noms des informations qu’on souhaite
passer à la méthode lors de son appel.
- typeRetour est le type de la valeur qui est retournée
par la méthode après son appel. Si la méthode ne
fourni aucun résultat, alors typeRetour est remplacé
par le mot clé void.
• Le mode de passage des paramètres dans les méthodes
dépend de la nature des paramètres :
– par référence pour les objets
– par copie pour les types primitifs
Exemple
class C {
void methode1(int i){
i+=12;
}
void methode2() {
int i = 3;
methode1(i);
System.out.println("i=" + i); // i=3
}
}
IV. Création et manipulation d’Objets
class ClasseTest {
// corps de la classe ClasseTest
}
l’instruction:
Objet
Référence
Télécommande Tél
é
- Pour modifier l’objet (par exemple augmenter
le son, …) on utilise la référence (la
télécommande).
class NomClasse {
/* Corps de la classe */
}
En générale:
1. Chaque objet met ses données membres dans sa
propre zone mémoire.
2. Les données membres ne sont partagées entre les
objets.
Exemple 1:
class UnTest {
float x;
int i;
boolean b;
}
class UnTest {
float x;
int i;
boolean b;
int f() {
return 10;
}
}
------------------------------------------------------------------------------
Type | Taille | Classe Wrapper |
--------- |--------------------------------|--------------------------------- |
boolean | | Boolean |
char | 16 bits, Unicode | Character |
byte | 8 bits | Byte |
short | 16 bits | Short |
int | 32 bits | Integer |
long | 64 bits | Long |
float | 32 bits IEEE 754 | Float |
double | 64 bits IEEE 754 | Double |
void | | Void |
On peut traiter les type primitif comme des objet
en utilisant les classe wrapper qui leurs sont
associées.
Exemple:
char c=‘x’; // type primitif directement déclaré
Character car = new Character(c); // classe
wrapper
ou
Character car = new Character (‘x’);
Remarque :
Quand une donnée d’un type primitif est membre d’une
classe on est assuré qu’elle a une valeur par défaut
même si on ne l’initialise pas:
----------------------------------------------------------------
Type primitifs | Valeur par défaut |
---------------------------- |----------------------------------- |
boolean | false |
char | ‘\u0000’ (null) |
byte | (byte)0 |
short | (short)0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0d |
-----------------------------------------------------------------
Attention: Cette garanti d’initialisation par
défaut ne s’applique pas aux variables
locales (définition d’une fonction
(méthode)).