Vous êtes sur la page 1sur 26

Universit de Constantone2 - Facult NTIC

1re Anne Licence - MI

Module : Introduction la Programmation Orient Objet

IPO
Chapitre 02
LApproche Oriente Objet
Classe, Objet, Attribut, Mthode, Constructeur
Modificateur, Composition et Hritage

Dr. Bouramoul 2017 / www.bouramoul.com

Plan du Cours
Lapproche objet
Classe
Objet
Attribut
Mthode
Constructeur
Modificateur
Composition
Hritage
Autres notions en O.O

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 1
Lapproche objet (1)
3

Programmation dirig par les donnes et non par les


traitements
Les procdures existent toujours mais on se concentre
dabord sur les entits que lon va manipuler avant de se
concentrer sur la faon dont on va les manipuler

Notion dencapsulation : Les donnes et les procdures


qui les manipulent (on parle de mthodes) sont regroups
dans une mme entit (la classe).

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Lapproche objet (2)


4

Notion de classe et dobjets : la classe est un modle


dcrivant les caractristiques communes et le comportement
dun ensemble dobjets
La classe est un moule et lobjet est ce qui est moul
partir de ce moule

Ces caractristiques communes sont les dattributs qui


caractrisent les objets et les mthodes que lon peut
effectuer sur ces objets

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 2
La classe (1) : dfinition
5

Classe : description dune famille dobjets ayant une mme


structure et un mme comportement. Elle est caractrise
par :
Un nom
Une composante statique : des champs (ou attributs)
nomms ayant une valeur. Ils caractrisent ltat des
objets pendant lexcution du programme
Une composante dynamique : des mthodes
reprsentant le comportement des objets de cette classe.
Elles manipulent les champs des objets et caractrisent
les actions pouvant tre effectues par les objets.

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

La classe (2) : reprsentation graphique


6

Hom m e Nom

A g e : In t e g e r
Ta ille : D o u b le
Attributs
P o id s : D o u b le
N o m : S t rin g

p a rle ()
m a n g e () Mthodes
b o it ()
d o rt ()

Une classe reprsente avec la notation UML


(Unified Modeling Language)

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 3
Linstanciation (1)
7

Instanciation : concrtisation dune classe en un objet.


Dans nos programmes Java nous allons dfinir des
classes et instancier ces classes en des objets qui vont
interagir.

Instance :
Reprsentant physique d'une classe
Obtenu par moulage du dictionnaire des Attributs et
dtenant les valeurs de ces variables.
Son comportement est dfini par les mthodes de sa
classe

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Linstanciation (2)
8

Exemple :

Si nous avons une classe voiture, alors votre voiture


est une instance particulire de la classe voiture.

Classe = concept, description

Objet = reprsentant concret dune classe

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 4
Les constructeurs (1)
9

L'appel de new pour crer un nouvel objet dclenche, dans


l'ordre :
L'allocation mmoire ncessaire au stockage de ce
nouvel objet et l'initialisation par dfaut de ces attributs,
L'initialisation explicite des attributs, s'il y a lieu,
L'excution d'un constructeur.

Un constructeur est une mthode d'initialisation :


De mme nom que la classe,
Sans type de retour.

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Les constructeurs (2)


10

public class Application Le constructeur est ici


{ celui
public static void main(String args[]) par dfaut (pas de
{ constructeur dfini dans
Personne jean = new Personne() la classe Personne)
jean.setNom("Jean") ;
}
}

Toute classe possde au moins un constructeur. Si le


programmeur ne l'crit pas, il en existe un par dfaut, sans
paramtres, de code vide.

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 5
Les constructeurs (3)
11

Personne.java Dfinition dun Constructeur.


public class Personne Le constructeur par dfaut
{ Personne() nexiste plus.
public String nom; Le code prcdent occasionnera
public String prenom; une erreur
public int age;
public Personne(String unNom,
String unPrenom,
int unAge)
{ public class Application
nom=unNom; {
prenom=unPrenom; public static void main(String args[])
age = unAge; {
} Personne jean = new Personne()
} jean.setNom("Jean") ;
} }
Va donner une erreur la compilation
Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Les constructeurs (4)


12

Pour une mme classe, il peut y avoir plusieurs


constructeurs, de signatures diffrentes (surcharge).
L'appel de ces constructeurs est ralis avec le new
auquel on fait passer les paramtres.
p1 = new Personne("Benali", "Mohamed", 56);
Dclenchement du "bon" constructeur : Il se fait en
fonction des paramtres passs lors de l'appel (nombre
et types).

Attention : Si le programmeur cre un constructeur (mme


si c'est un constructeur avec paramtres), le constructeur par
dfaut n'est plus disponible.
Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 6
Les constructeurs (5)
13

Personne.java
Redfinition dun
public class Personne Constructeur sans paramtres
{
public String nom;
public String prenom;
public int age;
public Personne()
{ On dfinit plusieurs constructeurs
nom=null; prenom=null; qui se diffrencient uniquement
age = 0; par leurs paramtres (on parle
} de leur signature)
public Personne(String unNom,
String unPrenom, int unAge)
{
nom=unNom;
prenom=unPrenom; age = unAge;
} }

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Classe et objet en Java


14

Modle Classe Java Instances de cette classe (Objet )

class Personne
Personne {
Personne jean, pierre;
nom : String String nom;
age : Integer jean = new Personne ();
int age;
salaire : Double pierre = new Personne ();
float salaire;
}

Loprateur dinstanciation en Java est new :


MaClasse monObjet = new MaClasse();
New va rserver lespace mmoire ncessaire pour crer
lobjet monObjet de la classe MaClasse

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 7
Accs aux attributs dun objet (1)
15

Personne.java Personne
nom : String
prenom : String
public class Personne age : Integer
{
public String nom; getNom()
setNom()
public String prenom;
public int age;
public void setNom(String unNom)
{
nom = unNom;
}
public String getNom()
{
return (nom);
}
}

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Accs aux attributs dun objet (2)


16

Application.java

public class Application


{
public static void main(String args[])
{
Personne jean = new Personne()
jean.nom = "Jean" ;
jean.prenom = "Pierre" ;
}
}

Remarque :
Contrairement aux variables, les attributs d'une classe, s'ils ne sont pas initialiss, se
voient affecter automatiquement une valeur par dfaut.
Cette valeur vaut : 0 pour les variables numriques, false pour les boolens, et null
pour les rfrences (Objet et tableau).
Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 8
Accs aux mthodes dun objet (1)
17

Personne.java Personne
nom : String
prenom : String
public class Personne age : Integer
{
public String nom; getNom()
setNom()
public String prenom;
public int age;
public void setNom(String unNom)
{
nom = unNom;
}
public String getNom()
{
return (nom);
}
}

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Accs aux mthodes dun objet (2)


18

Application.java
public class Application
{
public static void main(String args[])
{
Personne jean = new Personne()
jean.setNom("Jean") ;
}
}

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 9
Notion de mthodes et de paramtres (1)
19

Proches de la notion de procdure ou de fonction dans les


langages procduraux.
La mthode cest avant tout le regroupement dun ensemble
dinstructions suffisamment gnrique pour pouvoir tre rutilises
Comme pour les procdures ou les fonctions (au sens
mathmatiques) on peut passer des paramtres aux mthodes et ces
dernires peuvent renvoyer des valeurs (grce au mot cl return).
En java on a 2 grands types de mthodes les mthodes de classe
(dfini avec le mot cl static comme pour la mthode main) et les
mthodes dinstance :
Une mthode est un message que lon envoie une classe (mthode de
classe) ou un objet (mthode dinstance)
Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Mthodes (rappel)
20

exemple : public, type de la valeur couples d'un type et d'un identificateur


static renvoye ou void spars par des ,

<modificateur> <type-retour> <nom> (<liste-param>) {<bloc>}

public double add (double number1, double number2)


{ Notre mthode
retourne ici une
return (number1 +number2); valeur
}

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 10
Mode de passage des paramtres
21

Java n'implmente qu'un seul mode de passage des


paramtres une mthode : le passage par valeur.

Consquences :

L'argument pass une mthode ne peut tre modifi,

Si l'argument est une instance, c'est sa rfrence qui est


passe par valeur. Ainsi, le contenu de l'objet peut tre
modifi, mais pas la rfrence elle-mme.

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Porte des variables (1)


22

Les variables sont connues et ne sont connues qu lintrieur


du bloc dans lequel elles sont dclares

public class Bidule


{
int i, j, k;
public void truc(int z) Ce sont 2 variables diffrentes
{
int j,r;
r = z; k est connu au niveau de la mthode
} machin() car dclar dans le bloc de la
public void machin() classe. Par contre r nest pas dfini pour
{ machin(). On obtient une erreur la
k = r; compilation
}
}

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 11
Porte des variables (2)
23

En cas de conflit de nom entre des variables locales et des


variables globales, cest toujours la variable la plus locale
qui est considre comme tant la variable dsigne par
cette partie du programme

public class Bidule


{
int i, k, j;
Cest le j dfini en local
public void truc(int z)
qui est utilis dans
{
la mthode truc()
int j,r;
j = z;
}
} .
Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Destruction dobjets (1)


24

Il est possible au programmeur d'indiquer ce qu'il faut faire


juste avant de dtruire un objet.

C'est le ramasse-miettes qui s'occupe de collecter les objets


qui ne sont plus rfrencs.

Ainsi, le programmeur na plus grer directement la


destruction des objets, ce qui tait une importante source
d'erreurs.

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 12
Destruction dobjets (2)
25

Java n'a pas repris son compte la notion de destructeur


telle quelle existe en C++ par exemple.

C'est le but de la mthode finalize() de l'objet.

Cette mthode est utile, par exemple, pour :


Fermer une base de donnes,
Fermer un fichier,
Couper une connexion rseau,
Etc.

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Lencapsulation (1)
26

Les donnes et les procdures qui les manipulent sont


regroupes dans une mme entit, l'objet.

Les dtails d'implmentation sont cachs, le monde


extrieur n'ayant accs aux donnes que par
l'intermdiaire d'un ensemble d'oprations constituant
l'interface de l'objet.

Le programmeur n'a pas se soucier de la reprsentation


physique des entits utilises et peut raisonner en termes
d'abstractions.
Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 13
Lencapsulation (2)
27

Pour traiter une application, le programmeur commence


par dfinir les classes d'objets appropries, avec leurs
oprations spcifiques.

chaque entit manipule dans le programme est un


reprsentant (ou instance) d'une de ces classes.

L'univers de l'application est par consquent compos d'un


ensemble d'objets qui dtiennent, chacun pour sa part, les
cls de leur comportement.
Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Contrle daccs (1)


28

Chaque attribut et chaque mthode d'une classe peut tre :


Visible depuis les instances de toutes les classes d'une
application. Son nom peut tre utilis dans l'criture d'une
mthode de ces classes. Il est alors public.
Visible uniquement depuis les instances de sa classe. En
d'autres termes, son nom peut tre utilis uniquement dans
l'criture d'une mthode de sa classe. Il est alors priv.

Les mots rservs sont :


public
private

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 14
Contrle daccs (2)
29

En toute rigueur, il faudrait toujours que :


Les attributs ne soient pas visibles : les attributs ne
devraient pouvoir tre lus ou modifis que par
l'intermdiaire de mthodes prenant en charge les
vrifications.
Les mthodes "utilitaires" ne soient pas visibles,
Seules les fonctionnalits de l'objet, destines tre
utilises par d'autres objets soient visibles.
Cest la notion dencapsulation

Nous verrons dans la suite que lon peut encore affiner le


contrle daccs
Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Contrle daccs (3)


30

public class Parallelogramme


{
private int longueur = 0; // dclaration + initialisation explicite
private int largeur = 0; // dclaration + initialisation explicite
public int profondeur = 0; // dclaration + initialisation explicite
public void affiche ( )
{System.out.println("Longueur= " + longueur + " Largeur = " + largeur
+ " Profondeur = " + profondeur);
}}

public class ProgPpal


{
public static void main(String args[])
{
Parallelogramme p1 = new Parallelogramme();
p1.longueur = 5; // Invalide car l'attribut est priv
p1.profondeur = 4; // OK
p1.affiche( ); // OK
} }

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 15
Variables de classe (1)
31

Il peut s'avrer ncessaire de dfinir un attribut dont la


valeur soit partage par toutes les instances d'une
classe. On parle de variable de classe.
Ces variables sont, de plus, stockes une seule fois, pour
toutes les instances d'une classe.
Mot rserv : static

Accs :
Depuis une mthode de la classe comme pour tout
autre attribut,
Via une instance de la classe,
l'aide du nom de la classe.

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Variables de classe (2)


32

Variable de classe
public class UneClasse
{
public static int compteur = 0;
public UneClasse () Utilisation de la variable de classe
{
compteur++; compteur dans le constructeur de
} la classe
}

public class AutreClasse


{ Utilisation de la variable de classe
public void uneMethode() compteur dans une autre classe
{
int i = UneClasse.compteur;
}
}

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 16
Mthodes de classe (1)
33

Il peut tre ncessaire de disposer d'une mthode qui


puisse tre appele sans instance de la classe. C'est une
mthode de classe.

On utilise l aussi le mot rserv static

Puisqu'une mthode de classe peut tre appele sans


mme qu'il n'existe d'instance, une mthode de classe ne
peut pas accder des attributs non statiques. Elle ne peut
accder qu' ses propres variables et des variables de
classe.
Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Mthodes de classe (2)


34

public class UneClasse


{ La mthode main est une
public int unAttribut; mthode de classe donc elle
public static void main(String args[]) ne peut accder un attribut
{
unAttribut = 5; // Erreur de compilation non lui-mme attribut de
} classe
}

Autres exemples de mthodes de classe courantes

Math.sin(x);

String String.valueOf (i);

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 17
35

Synthse et Exemples
De la 1re Partie

Dclaration de classe 1/2


36

Classe : Modle pour des objets, qui prcise les attributs (tats de
l'objet) et mthodes (comportements)
Syntaxe :
[<modificateurs d'accs>] class <nomClasse> {
<attributs>
<constructeurs>
<mthodes> }
Syntaxe :
public class Chien {
public String couleur;
public void aboie () {
System.out.println("Houah! Houah!"); }
}
Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 18
Dclaration de classe 2/2
37

Modificateurs d'accs = visibilit, .... (par exemple, public)

Les attributs sont les champs/caractristiques, sur l'exemple : couleur

Les mthodes sont les messages/fonctions/actions applicables. Sur


l'exemple : aboie

Les constructeurs sont des mthodes spcialises dans l'instanciataion


d'un objet de la classe

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Objet 1/2
38

Cration d'un objet : new

Syntaxe :
[<nomClasse>] <variable> = new <nomClasse>
(<paramtres>);

Syntaxe :
Chien mdor = new Chien() ;

new cre une instance d'une classe en faisant appel une


mthode constructeur s'il y a
instanciation = crer un objet partir d'une classe
objet = instance de classe qui possde une copie des attributs et
mthodes de la classe
Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 19
Objet 2/2
39

Accs aux variables et mthodes d'un objet :


<nomObjet>.<variable> : accder un attribut
<nomObjet>.<mthode>([<paramtres effectifs>]) : envoyer un
message cet objet, appeler une mthode sur l'objet dsign.

Syntaxe :
milou.couleur = "blanc" ;
mdor.couleur = milou.couleur ;
mdor.aboie();

Destruction d'un objet :


Automatique ds que l'objet n'est plus rfrenc
La mthode finalise()

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Objet 1/2
40

Variable d'instance
Dfinit l'attribut d'une seule instance d'une classe : donc un
attribut attach chaque objet de la classe
Syntaxe :
[<modificateurs>] <type> <nomVariable> [= <valeur>];
Exemple : couleur de la classe Chien

Variable de classe

Dfinit l'attribut de la classe : donc un attribut attach


la classe qu'elle possde 1 ou plusieurs instances ou aucune,

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 20
Objet 2/2
41

Syntaxe
static [<modificateurs>] <type> <nomVariable>
[= <valeur>] ;
o modificateur peut tre public, private, protected

Exemple

public class BergerAllemand {


public static String couleur = "marron" ;
public String nom ;
public void aboie () {
System.out.println("Houah! Houah!"); }
};

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Mthode 1/3
42

Mthode d'instance
Dfinit un comportement de l'objet, un traitement qui ne peut
tre dclench qu'en envoyant un message un objet de la classe
Syntaxe :
[<modificateur>] <type> <nomMthode> ([<paramtres
formels>]) { <corps de la mthode> }
Exemple : aboie de la classe Chien

Mthode de classe

Dfinit un comportement de la classe, un traitement qui peut


tre dclench sans instance de la classe la classe elle-mme :
Ne peut affecter que des variables de classe (static)

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 21
Mthode 2/3
43

Syntaxe :
[<modificateur>] static <type> <nomMthode>
([<paramtres formels>]) { <corps de la mthode>}

Exemple :
public class Chien {
public String couleur;
public static int nombreDePattes () { return 4; }
}

Pour lutiliser :

System.out.println("nombre de pattes d'un chien : " +


Chien.nombreDePattes() );

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Mthode 3/3
44

Syntaxe :
public class Chien {
public void aboie () {
System.out.println("Houah! Houah!"); }
public void aboie (int nbre) {
for (int i = 0 ; i < nbre ; i++ )
System.out.println("Houah!"); }
public void aboie (String aboiement) {
System.out.println(aboiement + " " + aboiement);}
};

Appel : milou.Aboie(); mdor.Aboie("grrrr"); milou.Aboie(5);


Signature d'une mthode : nom de la mthode, nombre et du type de ses
paramtres, et le type qu'elle renvoie.
Surcharge d'une mthode : dfinir des mthodes de mme nom mais de signature
diffrente au niveau des paramtres.
Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 22
Constructeur
45

Une mthode constructeur est une mthode appele au moment de la


cration d'une instance par l'oprateur new.
Le nom du constructeur est celui de sa classe.

Syntaxe :
[<modificateur>] <nomClasse> ([<paramtres
formels>]) { <corps de la mthode constructeur> }

Exemple :
public class Chien {
public String couleur;
public Chien () { couleur = "inconnue"; }
public Chien (String c) { couleur = c; } }
Chien mdor = new Chien() ;
Chien milou; milou = new Chien("blanc");

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Modificateurs
Dfinissent la porte d'une variable, d'une mthode ou d'une classe.
Il existe 4 modificateurs d'accessibilit.
Mot-cl Porte Remarques
Il ne peut y avoir qu'une seule classe
Les variables, mthodes ou classes publique par .java et celle-ci doit
public
publiques sont accessibles par tout objet. obligatoirement porter le nom du
fichier .java
Les variables, mthodes ou classes dfinies Attention : les variables sans
sans modificateur sont accessibles par modificateur ne sont pas accessibles
"rien"
toute classe appartenant au mme aux classes fille dfinies dans un autre
package. package.
Les variables, mthodes ou classes dfinies
comme protges ne sont accessibles que
protected
par les classes filles et classes du mme
package..
Les variables, mthodes ou classes dfinies Il est fortement conseill de dclarer
comme prives ne sont accessibles que comme privs tous les attributs d'une
private
par la classe dans laquelle elles sont classe, et de crer des mthodes de
dfinies. type get/set pour y accder.

Page 23
Exemple1 (1/2)

Les lignes de la classe :


- les attribut(s) sont x, y, largeur et hauteur
- un constructeur spcifiant les initialisations
- dclaration de mthodes perimetre et
surface

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Exemple1 (2/2)
Les lignes du programme :
dclaration de 2 variables de
type Rectangle1
instanciation (cration) d'un
objet Rectangle1 : appel du
constructeur
r1 et r2 sont des rfrences
aux objets
envoie d'un message perimetre
l'objet rfrenc par r1, ce qui
provoque l'excution de la
mthode

EXECUTION
r1 : largeur = 10.0 hauteur = 20.0
perimetre de r1 : 60.0
surface de r2 : 100.0
Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 24
Exemple2 (1/2)
Les lignes de la classe :
dclaration d'une classe Chien1:
attributs nom et nombrePuce
1 constructeur 2
paramtres
5 autres mthodes
getNombrePuce
getNom
setNombrePuce
seGratte
aPlusPuceQue
this dsigne l'objet en cours : ici,
this pouvait tre omis

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Exemple2 (2/2)
Les lignes du programme :
dclaration de 2 variables de
type Chien1
puis cration de 2
objets/instances de la classe
Chien1
medor et milou sont des
rfrences sur chacun de ces 2
objets

EXECUTION
un nouvel ami ! Milou
un nouvel ami ! Medor
34 puces sur milou
19 puces sur milou
13 puces sur milou
milou a plus de puces que medor = false

Module IPO Chapitre 02: Approche objet - Classe - Encapsulation - Hritage Dr. Bouramoul

Page 25
51

Fin de la 1re partie

Page 26