Académique Documents
Professionnel Documents
Culture Documents
--------------------------------
Introduction à la
programmation orientée
objet
Programmation orientée objet : POO
Objets et classes :
Classe : définitions des attributs (variables) &
fonctions (méthodes) agissant sur ces données.
Objet : élément d’une classe (instance) avec
un état.
Méthode : Fonction qui décrit le
comportement d’un objet.
Attribut : Variable contenant une donnée
propre à l’objet.
POO : Structure d’une classe
Classe
Attributs
Méthodes
POO : Classes de base
java
java
java
}
POO : Déclaration d’une classe
Classe Voiture
POO : Exemple d’une classe
Attributs
Classe Voiture Type : Chaine de caractère
Modèle : entier
Matricule : Chaine de caractère
Couleur : Chaine de caractère
Vitesse Max : flottant
Méthodes
Demarrer()
Accelerer()
Changer_couleur()
Recuperer_modele()
POO : Implémentation de classe
Classe Voiture
Attributs Voiture.java
Class voiture{
Type : Chaine de caractère String Type;
Modèle : entier int Modele;
Matricule : Chaine de caractère String Matricule;
Couleur : Chaine de caractère String Couleur;
Vitesse Max : flottant float Vitesse_max;
…
Méthodes /* Déclaration des méthodes */
Demarrer() …
Accelerer() }
Changer_couleur()
Recuperer_modele()
POO : Implémentation de classe
Classe Voiture
Attributs Voiture.java
Type : Chaine de caractère Class voiture{
Modèle : entier String Type;
Matricule : Chaine de caractère int Modele;
Couleur : Chaine de caractère String Matricule;
Vitesse Max : flottant String Couleur;
float Vitesse_max;
Méthodes …
/* Déclaration des méthodes */
Demarrer() void Changer_couleur(String C){
Accelerer() Couleur=C;
Changer_couleur() }
Recuperer_modele() }
POO : Exemple d’une classe
Méthodes
Demarrer()
Accelerer()
Changer_couleur()
Recuperer_modele()
POO : Instance de classe
Classe Voiture
Attributs Type :Peugeot 206
Modèle :2005
Type : Chaine de caractère
Matricule :22-1445
Modèle : entier Couleur :Bleu Type :Honda Civic
Matricule : Chaine de caractère Vitesse Max :180 Modèle :2008
Couleur : Chaine de caractère Matricule :18-5562
Vitesse Max : flottant Couleur :Gris
Vitesse Max :210
Méthodes
Demarrer()
Accelerer()
Changer_couleur()
Recuperer_modele()
POO : Instanciation d’une classe
Voiture.java
Class voiture{
String Type; int Modele; String Matricule;
String Couleur; float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Matricule=Mtr;
Couleur=Clr; Vitesse_max=Vmax;
}
voiture(String Tp, int Mdl, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Couleur=Clr;
Vitesse_max=Vmax;
}
…
}
POO : instanciation d’un objet
Test.java
Class Test{
Public static void main(String[] args){
Voiture x = new voiture("Peugeot206 ",2006,22-1445,Bleu,180);
Voiture x = new voiture("HondaCivic",2008,18-5562,Gris,210);
}
}
POO : instanciation d’un objet
Test.java
Class Test{
Public static void main(String[] args){
Voiture x = new voiture("Peugeot206 ",2006,22-1445,Bleu,180);
Voiture y = new voiture("HondaCivic",2008,18-5562,Gris,210);
}
}
x
Type :Peugeot 206 Type :Honda Civic
Modèle :2005
Matricule :22-1445
Modèle :2008
Matricule :18-5562
Y
Couleur :Bleu Couleur :Gris
Vitesse Max :180 Vitesse Max :210
POO : instanciation d’un objet
Test.java
Class Test{
Public static void main(String[] args){
Voiture x = new voiture("Peugeot206 ",2006,22-1445,Bleu,180);
Voiture y = new voiture("HondaCivic",2008,18-5562,Gris,210);
Voiture z = new voiture("RenaultClio",2012, rouge,185);
}
}
Type :Renault Clio
Modèle :2012
Matricule: " "
Z
Couleur :Rouge
Vitesse Max :185
POO : instanciation d’un objet
Test.java
Class Test{
Public static void main(String[] args){
Voiture x = new voiture("Peugeot206 ",2006,22-1445,Bleu,180);
Voiture y = new voiture("HondaCivic",2008,18-5562,Gris,210);
Voiture z = new voiture("RenaultClio",2012, rouge,185);
Voiture w = new Voiture();
}
}
Type :
Modèle :
Matricule:
w
Couleur :
Vitesse Max :
POO : instanciation d’un objet
Test.java
Class Test{
Public static void main(String[] args){
Voiture x = new voiture("Peugeot206 ",2006,22-1445,Bleu,180);
Voiture y = new voiture("HondaCivic",2008,18-5562,Gris,210);
Voiture z = new voiture("RenaultClio",2012, rouge,185);
Voiture w = new Voiture();
} Erreur !!!
}
Type :
Modèle :
Matricule:
w
Couleur :
Vitesse Max :
POO : Exemple de constructeur
Voiture.java
Class voiture{
String Type; int Modele; String Matricule;
String Couleur; float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Matricule=Mtr;
Couleur=Clr; Vitesse_max=Vmax;
}
voiture(String Tp, int Mdl, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Couleur=Clr;
Vitesse_max=Vmax;
}
voiture(){ // ajouter un constructeur par défaut sans arguments
}
}
POO : instanciation d’un objet
Test.java
Class Test{
Public static void main(String[] args){
Voiture x = new voiture("Peugeot206 ",2006,22-1445,Bleu,180);
Voiture y = new voiture("HondaCivic",2008,18-5562,Gris,210);
Voiture z = new voiture("RenaultClio",2012, rouge,185);
Voiture w = new Voiture();
}
}
Type : " "
Modèle :0
Matricule: " "
w
Couleur : " "
Vitesse Max :0.0
POO : utilisation de l’opérateur this
Voiture.java
Class voiture{
String Type; int Modele; String Matricule;
String Couleur; float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Matricule=Mtr;
Couleur=Clr; Vitesse_max=Vmax;
}
voiture(String Tp, int Mdl, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Couleur=Clr;
Vitesse_max=Vmax;
}
voiture(){
this(Arg1, Arg2, Arg3, Arg4, Arg5);
}
}
POO : utilisation de l’opérateur this
Voiture.java
Class voiture{
String Type; int Modele; String Matricule;
String Couleur; float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Matricule=Mtr;
Couleur=Clr; Vitesse_max=Vmax;
}
voiture(String Tp, int Mdl, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Couleur=Clr;
Vitesse_max=Vmax;
}
voiture(){
this(Arg1, Arg2, Arg3, Arg4, Arg5);
}
}
POO : utilisation de l’opérateur this
Voiture.java
Class voiture{
String Type; int Modele; String Matricule;
String Couleur; float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Matricule=Mtr;
Couleur=Clr; Vitesse_max=Vmax;
}
voiture(String Tp, int Mdl, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Couleur=Clr;
Vitesse_max=Vmax;
}
voiture(){
this(Arg1, Arg2, Arg3, Arg4);
}
}
POO : utilisation de l’opérateur this
Voiture.java
Class voiture{
String Type; int Modele; String Matricule;
String Couleur; float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
this.Type=Tp; this.Modele=Mdl; this.Matricule=Mtr;
this.Couleur=Clr; this.Vitesse_max=Vmax;
}
voiture(String Tp, int Mdl, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Couleur=Clr;
Vitesse_max=Vmax;
}
voiture(){
this(Arg1, Arg2, Arg3, Arg4);
}
}
POO : Visibilité des attributs
Paramétre_de_visibilité Nom_Variable;
POO : Visibilité des attributs
Paramétre_de_visibilité Nom_Variable;
Paramétre_de_visibilité Nom_Variable = …;
POO : Visibilité des attributs
Parametre_de_visibilité Nom_Variable;
{Parametre_de_visibilité Nom_Variable = …;
public : l’attribut peut être utilisé par tout utilisateur de la
classe.
private : ne peut être utilisé qu’à l’intérieur de la classe
protected : ne peut être utilisé qu’à l’intérieur de la classe,
ou des classes dérivées.
POO : Visibilité des attributs
Voiture.java
Class voiture{
String Type; int Modele; String Matricule;
String Couleur; float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Matricule=Mtr;
Couleur=Clr; Vitesse_max=Vmax;
}
public static void main(String [] args){
Voiture x = new voiture("Peugeot206",2006, "22-1445", "Bleu",180);
}
}
POO : Visibilité des attributs
Voiture.java
Class voiture{
String Type; int Modele; String Matricule;
String Couleur; float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Matricule=Mtr;
Couleur=Clr; Vitesse_max=Vmax;
}
public static void main(String [] args){
Voiture x = new voiture("Peugeot206",2006, "22-1445", "Bleu",180);
System.out.println("Le type de x est"+ x.Type);
}
}
POO : Visibilité des attributs
Voiture.java
Class voiture{
public String Type; public int Modele;
public String Matricule; public String Couleur;
public float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Matricule=Mtr;
Couleur=Clr; Vitesse_max=Vmax;
}
public static void main(String [] args){
Voiture x = new voiture("Peugeot206",2006, "22-1445", "Bleu",180);
System.out.println("Le type de x est"+ x.Type );
}
}
POO : Visibilité des attributs
Voiture.java
Class voiture{
public String Type; public int Modele;
public String Matricule; public String Couleur;
public float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Matricule=Mtr;
Couleur=Clr; Vitesse_max=Vmax; }
}
Test.java
Class Test{
Public static void main(String[] args){
Voiture x = new voiture("Peugeot206",2006, "22-1445", "Bleu",180);
System.out.println("Le type de x est"+ x.Type );
}
}
POO : Visibilité des attributs
Voiture.java
Class voiture{
private String Type; public int Modele;
public String Matricule; public String Couleur;
public float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Matricule=Mtr;
Couleur=Clr; Vitesse_max=Vmax; }
}
Test.java
Class Test{
Public static void main(String[] args){
Voiture x = new voiture("Peugeot206",2006, "22-1445", "Bleu",180);
System.out.println("Le type de x est"+ x.Type );
} Erreur !!!
}
POO : Accesseurs et Modificateurs
Voiture.java
Class voiture{
private String Type; private int Modele;
private String Matricule; private String Couleur;
private float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Matricule=Mtr;
Couleur=Clr; Vitesse_max=Vmax; }
public String getType() { return Type; }
}
Class Test{
Public static void main(String[] args){
Voiture x = new voiture("Peugeot206",2006, "22-1445", "Bleu",180);
System.out.println("Le type de x est"+ x.getType() );
}
}
POO : Accesseurs et Modificateurs
Voiture.java
Class voiture{
private String Type; public int Modele;
public String Matricule; public String Couleur;
public float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Matricule=Mtr;
Couleur=Clr; Vitesse_max=Vmax; }
}
Test.java
Class Test{
Public static void main(String[] args){
Voiture x = new voiture("Peugeot206",2006, "22-1445", "Bleu",180);
x.Type = "Peugeot309";
} Erreur !!!
}
POO : Accesseurs et Modificateurs
Voiture.java
Class voiture{
private String Type; private int Modele;
private String Matricule; private String Couleur;
private float Vitesse_max;
voiture(String Tp, int Mdl, String Mtr, String Clr, float Vmax){
Type=Tp; Modele=Mdl; Matricule=Mtr;
Couleur=Clr; Vitesse_max=Vmax; }
public String setType(String newType) { Type=newType; }
}
Test.java
Class Test{
Public static void main(String[] args){
Voiture x = new voiture("Peugeot206",2006, "22-1445", "Bleu",180);
x.setType("Peugeot309");
}
}
POO : Surcharge de méthode