Vous êtes sur la page 1sur 8

Des objets dans des objets

Programmation objet: premiers pas en Java

François Barthélemy

Le Cnam, Département Informatique

1 F. Barthélemy - Des objets dans des objets


Objets dans un objet

Les variables d’un objet peuvent être de n’importe quel


type Java.
Type primitif, type tableau ou classe.
Une variable d’un objet peut contenir un autre objet.

2 F. Barthélemy - Des objets dans des objets


Exemple

public class Personne{


String nom, prenom;
Date dateNaissance;
public Personne(String n, String p, Date d){
nom=n;
prenom=p;
dateNaissance=d;
}
}

3 F. Barthélemy - Des objets dans des objets


Création d’un objet

Date dn = new Date("February 26 1802");


Personne p = new Personne("Victor","Hugo",dn);

4 F. Barthélemy - Des objets dans des objets


Date dn = new Date("February 26 1802");
Personne p = new Personne("Victor","Hugo",dn);

Pile Tas
String String
adr1 Victor adr2 Hugo

Date
adr3 date : 26
month : 1
year : 1802

main Personne
args : adr0 adr4 nom : adr2
dn : adr3 prenom : adr1
p: adr4 dateNaissance : adr3
Exemples de méthodes

public Date getDateNaissance(){


return dateNaissance;
}
public int ageALaDate(Date d){
int res = d.getYear() - dateNaissance.getYear();
if (d.getMonth() < dateNaissance.getMonth()){
res = res -1;
}
return res;
}

6 F. Barthélemy - Des objets dans des objets


Exemple d’invocations en chaîne

Date dn = new Date("February 28 1802");


Personne pers = new Personne("Victor","Hugo",dn);
int jour = pers.getDateNaissance().getDay();

7 F. Barthélemy - Des objets dans des objets


A retenir

Un objet peut avoir des variables qui contiennent d’autres


objets.
Dans ce cas, il n’y a pas directement des objets imbriqués :
les variables contiennent chacune l’adresse d’un objet.
Comme les variables des méthodes dans la pile.
Elles peuvent aussi contenir null.
Il peut y avoir plusieurs imbrications successives.
Exemple : un compte bancaire a un titulaire qui est une
personne qui a un nom.

8 F. Barthélemy - Des objets dans des objets

Vous aimerez peut-être aussi