0% ont trouvé ce document utile (0 vote)
49 vues12 pages

Cours Java : Héritage et Classes

Transféré par

Deodat Kone
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
49 vues12 pages

Cours Java : Héritage et Classes

Transféré par

Deodat Kone
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Java

Licence professionnelle CISII, 2009-2010

Cours 5 : l’héritage
Solutions

Cours inspiré des cours de Richard Grin, Antoine Tabbone et Hazel Everett
Corrigé
 La classe Animal :
class Animal
{
protected int nbPattes;
Animal(int nb){//constructeur
setNbPattes(nb);
}
//accesseur
public int getNbPattes(){return nbPattes;}
//modifieur
public void setNbPattes(int nb){nbPattes = nb;}
public String toString() {
return "Ceci est un animal doté de " + getNbPattes() + "
pattes";
}
public void affiche(){
[Link](toString());
}
}
Corrigé (2)
 Les classes Autruche et Lapin :
class Autruche extends Animal
{
Autruche(int nb){//constructeur
super(nb);
}
public String toString() {
return "Ceci est une autruche dotée de " + getNbPattes()
+ " pattes";
}
}
class Lapin extends Animal
{
Lapin(int nb){//constructeur
super(nb);
}
public String toString() {
return "Ceci est un lapin doté de " + getNbPattes() + "
pattes";
}
}
Corrigé (3)
 La classe Main :

class Main
{
public static void main(String args[])
{
Autruche kiki = new Autruche(2);
Lapin bunny = new Lapin(4);
[Link]();
[Link]();
}
}
Cours5-TD5
 Exercice 1
- Créez la classe Vehicule qui contient les données
 private boolean moteur, et
 private int vitesseMax, et
- les méthodes suivantes :
 constructeur,
 String toString(), qui renvoie les caractéristiques du véhicule,
 void Vmax() qui affiche la vitesse maximale du véhicule.
- Créez ensuite une classe Voiture_Composee dont les membres sont
 private Vehicule ve,
 private int nombreDePortes,
 et Voiture_Derivee (dérivant de la classe Vehicule) avec la donnée membre
 private int nombreDePortes.
- Pour les deux classes, définissez leur constructeur et leur méthode String
toString(). Comparez les deux implantations. Comment accède-t-on aux
différentes données membres et aux différentes méthodes des classes
Voiture Composee et Voiture Derivee ? Affichez la vitesse maximale de la
voiture dans les deux cas.
public class Vehicule { public void Vmax(){
private boolean moteur; [Link]("\nvitesse max :
private int vitesseMax; "+vitesseMax+" km/h\n");
}
public Vehicule() {
moteur = false; public boolean getMoteur () {
vitesseMax = 0; return moteur;
} }

public Vehicule(boolean m, int v){ public int getVitesseMax() {


moteur = m; return vitesseMax;
vitesseMax = v; }
}
public static void main(String[] args){
public String toString(){ Vehicule v1=new Vehicule(true,121);
String S="\nvehicule "; [Link](v1);
if (moteur) S=S+"a moteur, "; [Link]();
else }
S=S+"sans moteur, "; }
S=S+"dont la vitesse maximale est
de "+vitesseMax+"km/h";
return S;
}
public class Voiture_Composee { public static void main(String[] args)
private Vehicule v; {
private int nombreDePortes;
Voiture_Composee v1 = new
Voiture_Composee(true,152,4);
public Voiture_Composee()
{ [Link](v1);
v = new Vehicule(); [Link]([Link]);
nombreDePortes = 2; [Link]([Link]());
} [Link]([Link]());
[Link]();
public Voiture_Composee(boolean m,
int vit, int n){ }
v = new Vehicule(m,vit); }
nombreDePortes = n;
}

public String toString(){


String S;
S = [Link]();
S = S+" C'est une voiture de " +
nombreDePortes + " portes.\n";
return S;
}
public class Voiture_Derivee extends public static void main(String[] args)
Vehicule { {
private int nombreDePortes;
Voiture_Derivee v1 = new
Voiture_Derivee(true,150,2);
public Voiture_Derivee() {
super(); [Link](v1);
nombreDePortes = 2; [Link]([Link]());
} [Link]([Link]());
[Link]([Link]);
public Voiture_Derivee(boolean m,int
v,int n) { [Link]();
super(m,v); }
nombreDePortes = n; }
}

public String toString(){


String S;
S=[Link]();
S=S+" C'est une voiture de " +
nombreDePortes + " portes.\n";
return S;
}
public class Main {
public static void main(String[] args) {

[Link]("\nVoiture composee \n======


========== \n");
Voiture_Composee v1 = new Voiture_Composee(true, 152, 4);
[Link](v1);
// [Link](); il faut une méthode getVehicule() dans
Voiture_Composee

[Link]("\nVoiture Derivee\n======
=========\n");
Voiture_Derivee v2 = new Voiture_Derivee(true, 150, 2);
[Link](v2);
[Link]();
}
}
Cours5-TD5
 Exercice 2
- Créez une classe Liquide contenant seulement une méthode
imprimer() qui affiche : ”je suis un liquide”
- Créez 2 classes dérivées de la classe Liquide, les classes
Cafe et Lait, dont les méthodes imprimer() affichent
respectivement ”je suis un Café”, ”je suis du Lait”
- Enfin créerez une classe Tasse ayant un attribut l de la
classe Liquide et une méthode AjouterLiquide (Liquide li) et
une méthode imprimer()
- Testez l’utilisation : créer un tableau de Tasses qui contient
différents liquides
public class Liquide { public class Main {
public void imprimer(){ public static void main(String[] args) {
[Link]("je suis un
liquide");} Tasse latasse;
} latasse =new Tasse();
[Link](new Liquide());
class Cafe extends Liquide { [Link]();
public void imprimer() {
[Link]("je suis du latasse=new Tasse();
cafe");}
[Link](new Cafe());
}
[Link]();
class Lait extends Liquide{
public void imprimer(){ Tasse[] lestasses;
[Link]("je suis du lestasses = new Tasse[3];
lait");} for (int i=0;i<3;i++)
} lestasses[i]= new Tasse();

class Tasse { lestasses[0].AjouterLiquide(new Cafe());


private Liquide l; lestasses[1].AjouterLiquide(new Lait());
public void AjouterLiquide (Liquide l) lestasses[2].AjouterLiquide(new Liquide());
{this.l = l;}
public void imprimer() {
for (int i=0;i<3;i++)
[Link]();}
lestasses[i].imprimer();
}
}
}
je suis un liquide
je suis du cafe
je suis du cafe
je suis du lait
je suis un liquide

Vous aimerez peut-être aussi