Académique Documents
Professionnel Documents
Culture Documents
Chapitre 1 Introduction
Chapitre 2 Objets et Classes
Chapitre 3 Encapsulation et Surcharge
Chapitre 4 Héritage et Polymorphisme
Chapitre 5 Classes abstraites et Interfaces
Chapi
Chapitre 6 Les collections
tre 5
Chapitre 7 Les exceptions
class Date {
int jour ; // Par défaut, un attribut est initialisé à zéro
int mois = 1 ;
int an = 2000 ;
final int MAX_MOIS = 12 ; //déclaration d’une constante
}
Type de données en JAVA
• On distingue deux grandes familles de types de données en JAVA :
Les types primitifs Les types objets
Syntaxe
<type de retour><nom de méthode>( <Arguments>)
{
<traitement>
}
Exemple : classe Compte
class Compte {
int solde;
String titulaire;
int numero;
void afficher(){
System.out.println("solde: "+ this.solde);
}
void deposer(int montant){
this.solde = this.solde+ montant;
}
void retirer(int montant){
this.solde=this.solde-montant;
}
}
Passage de paramètre
• Les types primitifs: passage de paramètres par valeur La transmission
des arguments de type simple est uniquement par valeur: les
arguments ne peuvent pas être modifiés par la méthode appelée.
• Les types objets : passage de paramètres par adresse Le passage des
objets en paramètre d’une méthode est par adresse: si la méthode
modifie l'objet, il sera donc toujours modifié après l'appel à cette
méthode.
Instanciation
Le programme est lui-même une classe
}//fin MonProgramme
class Etudiant
{
}
Instanciation
• Pour instancier un objet d’une classe (création d’un objet), on fait un appel
explicite à l’opérateur new en précisant la classe à instancier.
• Un objet est donc une instance d’une classe.
• Format général : <nomClasse> reference = new <nomClasse>() ;
• Pour créer un objet Triangle on met : Mémoire
Triangle t ; // Déclaration d’une variable t
t
Stack Heap
Instanciation
• Pour instancier un objet d’une classe (création d’un objet), on fait un appel
explicite à l’opérateur new en précisant la classe à instancier.
• Un objet est donc une instance d’une classe. L’adresse de
L’objet t dans
• Format général : <nomClasse> reference = new <nomClasse>() ;
la mémoire
• Pour créer un objet Triangle on met :
Mémoire
Triangle t ; // Déclaration d’une variable t
0058007
t
t = new Triangle (); // Création d’un objet Triangle 0058007 Hauteur 0.0
t est la référence de l’objet créé 0.0
base
Stack Heap
• Il est possible de mettre directement :
Triangle t = new Triangle ();
• Constructeur surchargé
class Triangle
{
double hauteur ;
double base ; Dans le constructeur de la classe on
Triangle (double hauteur, double base) a this.hauteur indique
{ l’attribut hauteur de l’objet courant
this.hauteur = hauteur ;
this.base = base ; hauteur ( à droite de l’affectation)
} correspond au paramètre du
double surface() constructeur.
{
return base * hauteur / 2 ;
}
}
Variables
• Il y a trois grands types de variables dans une classe objet :
– Les variables d'instance: permettent de contenir l'état d'un
objet, aussi appelée attribut.
class Triangle
{
// Variable d'instance Class Test
//sa valeur est propre à chaque instance Public static void main (String[] args)
double hauteur ; {
double base ; Rectangle R2= new Rectangle(10, 20);
Triangle (double hauteur, double base) //Les variables d’instance sont
{ //appelées avec le nom de l’instance
this.hauteur = hauteur ; System.out.println(R2.hauteur);
this.base = base ; }
} }
}
Variables de classe ou variable static
• Les variables de classe, également appelées variables statiques, sont
déclarées avec le mot clé « static » dans une classe, mais en dehors d’une
méthode, d’un constructeur ou d’un bloc.
• Définies pour l’ensemble du programme et sont visibles depuis toutes les
méthodes
Variables de classe ou variable static
public class Personnage
{ // variable de Classe: sa valeur est la même pour tous les objets de la classe
static int nbPersonnages = 0;
String nom; // nom du personnage
public Personnage(String pNom)
{
nbPersonnages++; // un nouveau personnage est créé, on incrémenete donc le
//nombre total de personnages créés
this.nom = pNom;
}}