// MODULE: KoalaTest.java // AUTEUR: IFT1170 // COMMENT: premiers pas vers l'héritage class Koala { protected String nom; protected int taille; protected final int age = 15; // juste pour illustrer un role de super dans la classe petit Koala private void setTaille(int t) { taille = t; } protected void mange () { System.out.println("Koala " + nom + " mange"); } public Koala (String n, int t) { nom = n; setTaille(t); } public String toString() { return "Koala " + nom + " " + taille; } } class PetitKoala extends Koala { protected int age; public int getAge() { return super.age; // retour de la variable age de la classe Koala (15 ici) } public PetitKoala(String n, int t, int age) { super(n,t); if (t > 50) { System.err.println("Error !!! " + n + " est trop grand pour etre un petit Koala"); System.exit(1); } this.age = age; } public void mange () { System.out.println("PetitKoala " + nom + " mange"); } public void dort () { System.out.println("PetitKoala " + nom + " dort"); } public String toString() { return "Petit" + super.toString(); } } public class KoalaTest { public static void main (String [] args) { Koala joe = new Koala ("joe",80); System.out.println(joe); PetitKoala sam = new PetitKoala ("sam",40,1); System.out.println(sam); sam.mange(); sam.dort(); System.out.println("age de sam " + sam.age); // rmq sur protected System.out.println("age de sam " + sam.getAge()); // super // joe.dort(); erreur dort n'est pas une methode de Koala } }