Module : POO
Correction du TP 8 :
Classe abstraite & Interface
Exercice 1 :
1.
| |
| --- |
| abstract class Produit { private String Designation; private double Prix\_unitaire; private int Quantite; public Produit (String Designation, double Prix\_unitaire, int Quantite) { this.Designation=Designation; this.Prix\_unitaire=Prix\_unitaire; this.Quantite=Quantite; } public String getDesignation(){ return Designation; } public double getPrix\_unitaire(){ return Prix\_unitaire; } public int getQuantite(){ return Quantite; } public void Affiche() { System.out.println ("Le produit a pour désignation "+Designation+",son prix unitaire est "+Prix\_unitaire+" et la quantitée vendue est "+Quantite); } public abstract double Calcul(); } |
2.
| |
| --- |
| public class Produitnonsoldé extends Produit { public Produitnonsoldé (String designation, double prix\_unitaire, int quantite) { super (designation, prix\_unitaire, quantite); } public double Calcul() { return (super.getPrix\_unitaire()\*super.getQuantite()); } } |
Publicité
| |
| --- |
| public class Produitnonsoldé extends Produit { public Produitnonsoldé (String designation, double prix\_unitaire, int quantite) { super (designation, prix\_unitaire, quantite); } public double Calcul() { return (super.getPrix\_unitaire()\*super.getQuantite()); } } |
3.
| |
| --- |
| public class Produitsoldé extends Produit{ private int Taux\_remise; public Produitsoldé (String Designation, double Prix\_unitaire, int Quantite, int Taux\_remise) { super(Designation, Prix\_unitaire, Quantite); this.Taux\_remise=Taux\_remise; } public void Affiche() { super.Affiche(); System.out.println ("Le taux de remise pour ce produit est: "+Taux\_remise+"%"); } public double Calcul() { return (super.getPrix\_unitaire()\super.getQuantite()\(1+Taux\_remise/100)); } } |
4.
| |
| --- |
| public class Gestion\_Produit { public static void main(String[] args) { Produit Tab\_Produit[]=new Produit[5]; Tab\_Produit[0]=new Produitnonsoldé("produit1",1, 20); Tab\_Produit[1]=new Produitnonsoldé("produit2",2, 40); Tab\_Produit[2]=new Produitnonsoldé("produit3",3, 30); Tab\_Produit[3]=new Produitsoldé("produit4",1, 2, 20); Tab\_Produit[4]=new Produitsoldé("produit5",1, 1, 10); double prixsup=Tab\_Produit[0].Calcul(); int indice=0; for(int i=1; i<5; i++) {if (Tab\_Produit[0].Calcul()>prixsup) {prixsup=Tab\_Produit[i].Calcul(); indice=i;}} System.out.println ("Le produit qui a le plus grand prix total est le suivant:"); Tab\_Produit[indice].Affiche(); System.out.println ("et son prix total est:"+ prixsup); } } |
Exercice 2 :
Publicité
1.
| |
| --- |
| interface Produit { public void Affiche(); public double Calcul(); } |
2.
| |
| --- |
| class Produitnonsoldé implements Produit { private String Designation; private double Prix\_unitaire; private int Quantite; public Produitnonsoldé (String Designation, double Prix\_unitaire, int Quantite) { this.Designation=Designation; this.Prix\_unitaire=Prix\_unitaire; this.Quantite=Quantite; } public void Affiche() { System.out.println ("Le produit a pour désignation "+Designation+", son prix unitaire est "+Prix\_unitaire+" et la quantitée vendue est "+Quantite); } public double Calcul() { return Prix\_unitaire\*Quantite; } } |
3.
| |
| --- |
| class Produitsoldé implements Produit{ private String Designation; private double Prix\_unitaire; private int Quantite; private int Taux\_remise; public Produitsoldé (String Designation, double Prix\_unitaire, int Quantite,int Taux\_remise) { this.Designation=Designation; this.Prix\_unitaire=Prix\_unitaire; this.Quantite=Quantite; this.Taux\_remise=Taux\_remise; } public void Affiche() { System.out.println ("Le produit a pour désignation "+Designation+", son prix unitaire est "+Prix\_unitaire+" et la quantitée vendue est "+Quantite); System.out.println ("Le taux de remise pour ce produit est: "+Taux\_remise+"%"); } public double Calcul() { return Prix\_unitaire\Quantite\(1+Taux\_remise/100); } } |
Publicité
4.
| |
| --- |
| public class Gestion\_Produit { public static void main(String[] args) { Produit Tab\_Produit[]=new Produit[5]; Tab\_Produit[0]=new Produitnonsoldé("produit1",1, 20); Tab\_Produit[1]=new Produitnonsoldé("produit2",2, 40); Tab\_Produit[2]=new Produitnonsoldé("produit3",3, 30); Tab\_Produit[3]=new Produitsoldé("produit4",1, 2, 20); Tab\_Produit[4]=new Produitsoldé("produit5",1, 1, 10); double prixsup=Tab\_Produit[0].Calcul(); int indice=0; for(int i=1; i<5; i++) {if (Tab\_Produit[0].Calcul()>prixsup) {prixsup=Tab\_Produit[i].Calcul(); indice=i;}} System.out.println ("Le produit qui a le plus grand prix total est le suivant:"); Tab\_Produit[indice].Affiche(); System.out.println ("et son prix total est:"+ prixsup); } } |
Exercice 3 :
| |
| --- |
| public interface Magasin { public void Affiche(); public double Calcul(); } |
| |
| --- |
| abstract public class Produit implements Magasin{ private String Designation; private double Prix\_unitaire; private int Quantite; public Produit (String Designation, double Prix\_unitaire, int Quantite) { this.Designation=Designation; this.Prix\_unitaire=Prix\_unitaire; this.Quantite=Quantite; } public String getDesignation(){ return Designation; } public double getPrix\_unitaire(){ return Prix\_unitaire; } public int getQuantite(){ return Quantite; } public void Affiche() { System.out.println ("Le produit a pour désignation "+Designation+", son prix unitaire est "+Prix\_unitaire+" et la quantitée vendue est "+Quantite); } } |
| |
Publicité
| --- |
| public class Produitnonsoldé extends Produit{ public Produitnonsoldé (String Designation, double Prix\_unitaire, int Quantite) { super(Designation,Prix\_unitaire,Quantite); } public double Calcul() { return (super.getPrix\_unitaire()\*super.getQuantite()); } } |
| |
| --- |
| public class Produitsoldé extends Produit { private int Taux\_remise; public Produitsoldé (String Designation, double Prix\_unitaire, int Quantite, int Taux\_remise) { super(Designation,Prix\_unitaire,Quantite); this.Taux\_remise=Taux\_remise; } public void Affiche() { super.Affiche(); System.out.println ("Le taux de remise pour ce produit est: "+Taux\_remise+"%"); } public double Calcul() { return (super.getPrix\_unitaire()\super.getQuantite()\(1+Taux\_remise/100)); } } |
| |
| --- |
| public class Gestion\_Produit { public static void main(String[] args) { Produit Tab\_Produit[]=new Produit[5]; Tab\_Produit[0]=new Produitnonsoldé("produit1",1, 20); Tab\_Produit[1]=new Produitnonsoldé("produit2",2, 40); Tab\_Produit[2]=new Produitnonsoldé("produit3",3, 30); Tab\_Produit[3]=new Produitsoldé("produit4",1, 2, 20); Tab\_Produit[4]=new Produitsoldé("produit5",1, 1, 10); double prixsup=Tab\_Produit[0].Calcul(); int indice=0; for(int i=1; i<5; i++) {if (Tab\_Produit[0].Calcul()>prixsup) {prixsup=Tab\_Produit[i].Calcul(); indice=i;}} System.out.println ("Le produit qui a le plus grand prix total est le suivant:"); Tab\_Produit[indice].Affiche(); System.out.println ("et son prix total est:"+ prixsup); } } |