//*************** Fichier AppareilElectriqueTest.java public class AppareilElectriqueTest { public static void main(String[] args) { // des objets instances de Television et Aspirateur Television tv1 = new Television(); Television tv2 = new Television(30,2); System.out.println("Tv1, contraste :"+ tv1.getContraste()); tv1.setContraste(190); System.out.println("Tv1, contraste :"+ tv1.getContraste()); Aspirateur asp1 = new Aspirateur(); Aspirateur asp2 = new Aspirateur(8); System.out.println("Asp2 =>"+ asp2.getAspiration()); tv1.setMarche(false); System.out.println("Etat tv1 :" + tv1.isMarche()); System.out.println("Etat global de tv1=>" +tv1.toString()); // des objets avec un tableau Television tabTv[] = new Television[5]; for(int cpt=0;cpt<5;cpt++) { tabTv[cpt] = new Television(50,cpt+1); System.out.println("Tv #"+cpt+"=>"+tabTv[cpt].toString()); } // En profitant du polymorpshime AppareilElectrique ae[] = new AppareilElectrique[5]; for(int cpt=0;cpt<ae.length;cpt++) { if(cpt%2==0) { ae[cpt] = new Television(50,cpt+1); System.out.println("ae#"+cpt+"=>"+((Television) ae[cpt]). toString()); } else { ae[cpt] = new Aspirateur(5+cpt); System.out.println("ae#"+cpt+"=>"+((Aspirateur) ae[cpt]). toString()); } } // Eteindre les appareils electriques for(int cpt=0; cpt<ae.length;cpt++) { ae[cpt].setMarche(false); System.out.println("Etat ae#"+cpt+"= "+ae[cpt].isMarche()); } for(int cpt=0; cpt<ae.length;cpt++) { if (ae[cpt] instanceof Television) System.out.println("Television "+cpt); else System.out.println("Aspirateur "+cpt); } } } //***********************Fichier AppareilElectrique.java public abstract class AppareilElectrique { private boolean marche; public AppareilElectrique() { marche = true; } /** * @return */ public boolean isMarche() { return marche; } /** * @param b */ public void setMarche(boolean b) { marche = b; } public abstract String toString(); } //************************ Aspirateur.java public class Aspirateur extends AppareilElectrique{ private int aspiration; public Aspirateur() { aspiration = 5; } public Aspirateur(int aspiration) { if(aspiration>=0 && aspiration<=10) this.aspiration = aspiration; else aspiration = 5; } /** * @return */ public int getAspiration() { return aspiration; } /** * @param i */ public void setAspiration(int i) { if(i>=0 && i<=10) aspiration = i; else System.out.println("Erreur, niveau aspiration"); } public String toString() { return "Etat ="+ isMarche() + "; Aspiration =" + aspiration; } } //*********************** Television.java public class Television extends AppareilElectrique { private int contraste; private int chaine; public Television() { contraste = 50; chaine = 5; } public Television(int contraste, int chaine) { if(contraste>=0 && contraste<=100) this.contraste = contraste; else this.contraste = 50; if (chaine>=0 && chaine<=32) this.chaine = chaine; else this.chaine = 5; } /** * @return */ public int getChaine() { return chaine; } /** * @return */ public int getContraste() { return contraste; } /** * @param i */ public void setChaine(int i) { if (i>0 && i<=32) chaine = i; else System.out.println("Erreur chaine"); } /** * @param i */ public void setContraste(int i) { if (i>=0 && i<=100) contraste = i; else System.out.println("Erreur, contraste"); } public String toString() { return "Etat ="+ isMarche() + "; Contraste =" + contraste + "; Chaine =" + chaine; } }