SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
Enseignante: Nada Ben Latifa
1
Exercice Héritage en JAVA
Exercice 2 :
Ecrire une classe JAVA Forme où une forme est caractérisée par les
coordonnées de son centre (stockées dans un tableau).
N'oubliez pas d'implémenter les constructeurs (avec argument(s) et par défaut),
les accesseurs et modificateurs, ainsi que la méthode toString.
De plus définissez une méthode calculeSurface qui calcule la surface d'une
forme.
A partir de cette classe de base, dérivez ensuite les classes Rectangle et Ellipse
où un rectangle possède une longueur et une largeur, tandis qu'une ellipse
possède deux rayons. Dérivez enfin les classes Carre et Cercle.
Correction :
class Forme{
private int[] pos;
private double surface;
Forme() {
pos = new int[] {0,0};
surface = 0.;
}
public double calculerSurface() {
return 0.;
}
Enseignante: Nada Ben Latifa
2
public int getX() {
return pos[0];
}
public int getY() {
return pos[1];
}
public void setX(int v) {
pos[0] = v;
}
public void setY(int v) {
pos[1] = v;
}
public String toString(){
return "Position : " + getX() + " - " + getY() + "nSurface : " +
calculerSurface();
}
}
class Rectangle extends Forme {
private int longueur, largeur;
public double calculerSurface() {
return longueur * largeur; }
Enseignante: Nada Ben Latifa
3
public Rectangle(int lg, int la) {
longueur = lg;
largeur = la;
}
}
class Ellipse extends Forme {
private int r1, r2;
public double calculerSurface() {
return Math.PI * r1 * r2;
}
public Ellipse(int r1, int r2) {
this.r1 = r1;
this.r2 = r2;
}
}
class Cercle extends Ellipse {
public Cercle(int r) {
super(r,r);
}
}
Enseignante: Nada Ben Latifa
4
public class TestForme {
public static void main(String[] args) {
Forme a = new Rectangle(15,20);
a.setX(3);a.setY(56);
System.out.println(a);
a = new Cercle(1);
a.setX(100); a.setY(100);
System.out.println(a);
}}

Contenu connexe

Tendances

POO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationPOO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationMouna Torjmen
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++coursuniv
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismeMouna Torjmen
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objetsAziz Darouichi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UMLAmir Souissi
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrigeAmineMouhout1
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfacesAziz Darouichi
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesInes Ouaz
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielleECAM Brussels Engineering School
 

Tendances (20)

POO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 EncapsulationPOO Java Chapitre 2 Encapsulation
POO Java Chapitre 2 Encapsulation
 
Cours java
Cours javaCours java
Cours java
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
programmation orienté objet c++
programmation orienté objet c++programmation orienté objet c++
programmation orienté objet c++
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
POO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et PolymorphismePOO Java Chapitre 4 Heritage et Polymorphisme
POO Java Chapitre 4 Heritage et Polymorphisme
 
PL/SQL:les curseurs
PL/SQL:les curseursPL/SQL:les curseurs
PL/SQL:les curseurs
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
Chapitre5: Classes et objets
Chapitre5: Classes et objetsChapitre5: Classes et objets
Chapitre5: Classes et objets
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 

Similaire à Exercice 2 java Héritage

Les vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfLes vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfrezgui10
 
Les vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptxLes vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptxrezgui10
 
Deuxième partie.pptx
Deuxième partie.pptxDeuxième partie.pptx
Deuxième partie.pptxSafaeLhr1
 
Ebook matlab
Ebook matlabEbook matlab
Ebook matlabN NASRI
 
Matlab Travaux Pratique
Matlab Travaux Pratique Matlab Travaux Pratique
Matlab Travaux Pratique Smee Kaem Chann
 
Cours 4 dessin de graphs 2eme annees
Cours 4   dessin de graphs 2eme anneesCours 4   dessin de graphs 2eme annees
Cours 4 dessin de graphs 2eme anneesTarik Taleb Bendiab
 
Héritage et Polymorphisme .pdf
Héritage et Polymorphisme .pdfHéritage et Polymorphisme .pdf
Héritage et Polymorphisme .pdfAabidiHafid
 
Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019Aziz Darouichi
 
Math BAC 2010_Correction
Math BAC 2010_CorrectionMath BAC 2010_Correction
Math BAC 2010_CorrectionAchraf Frouja
 
Java uik-chap5-poo avance vf
Java uik-chap5-poo avance vfJava uik-chap5-poo avance vf
Java uik-chap5-poo avance vfAmel Morchdi
 

Similaire à Exercice 2 java Héritage (11)

Les vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfLes vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdf
 
Les vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptxLes vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptx
 
Deuxième partie.pptx
Deuxième partie.pptxDeuxième partie.pptx
Deuxième partie.pptx
 
Ebook matlab
Ebook matlabEbook matlab
Ebook matlab
 
Matlab Travaux Pratique
Matlab Travaux Pratique Matlab Travaux Pratique
Matlab Travaux Pratique
 
Cours 4 dessin de graphs 2eme annees
Cours 4   dessin de graphs 2eme anneesCours 4   dessin de graphs 2eme annees
Cours 4 dessin de graphs 2eme annees
 
Héritage et Polymorphisme .pdf
Héritage et Polymorphisme .pdfHéritage et Polymorphisme .pdf
Héritage et Polymorphisme .pdf
 
Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019
 
Math BAC 2010_Correction
Math BAC 2010_CorrectionMath BAC 2010_Correction
Math BAC 2010_Correction
 
Java uik-chap5-poo avance vf
Java uik-chap5-poo avance vfJava uik-chap5-poo avance vf
Java uik-chap5-poo avance vf
 
C# 7 - Nouveautés
C# 7 - NouveautésC# 7 - Nouveautés
C# 7 - Nouveautés
 

Exercice 2 java Héritage

  • 1. Enseignante: Nada Ben Latifa 1 Exercice Héritage en JAVA Exercice 2 : Ecrire une classe JAVA Forme où une forme est caractérisée par les coordonnées de son centre (stockées dans un tableau). N'oubliez pas d'implémenter les constructeurs (avec argument(s) et par défaut), les accesseurs et modificateurs, ainsi que la méthode toString. De plus définissez une méthode calculeSurface qui calcule la surface d'une forme. A partir de cette classe de base, dérivez ensuite les classes Rectangle et Ellipse où un rectangle possède une longueur et une largeur, tandis qu'une ellipse possède deux rayons. Dérivez enfin les classes Carre et Cercle. Correction : class Forme{ private int[] pos; private double surface; Forme() { pos = new int[] {0,0}; surface = 0.; } public double calculerSurface() { return 0.; }
  • 2. Enseignante: Nada Ben Latifa 2 public int getX() { return pos[0]; } public int getY() { return pos[1]; } public void setX(int v) { pos[0] = v; } public void setY(int v) { pos[1] = v; } public String toString(){ return "Position : " + getX() + " - " + getY() + "nSurface : " + calculerSurface(); } } class Rectangle extends Forme { private int longueur, largeur; public double calculerSurface() { return longueur * largeur; }
  • 3. Enseignante: Nada Ben Latifa 3 public Rectangle(int lg, int la) { longueur = lg; largeur = la; } } class Ellipse extends Forme { private int r1, r2; public double calculerSurface() { return Math.PI * r1 * r2; } public Ellipse(int r1, int r2) { this.r1 = r1; this.r2 = r2; } } class Cercle extends Ellipse { public Cercle(int r) { super(r,r); } }
  • 4. Enseignante: Nada Ben Latifa 4 public class TestForme { public static void main(String[] args) { Forme a = new Rectangle(15,20); a.setX(3);a.setY(56); System.out.println(a); a = new Cercle(1); a.setX(100); a.setY(100); System.out.println(a); }}