LaDissertation.com - Dissertations, fiches de lectures, exemples du BAC
Recherche

TP3 1320

TD : TP3 1320. Recherche parmi 300 000+ dissertations

Par   •  27 Mai 2020  •  TD  •  923 Mots (4 Pages)  •  870 Vues

Page 1 sur 4

// Question 1 du TP5
abstract public class Animaux {

abstract public void greeting(); }

public class Chat extends Animaux { @Override

public void greeting() { System.out.println("Meow!");

} }

public class Chien extends Animaux { @Override

public void greeting() { System.out.println("Woof!");

}

public void greeting(Chien another) { System.out.println("Woooooooooof!");

} }

public class GrosChien extends Chien { @Override

public void greeting() { System.out.println("Woow!");

}

@Override
public void greeting(Chien another) {

System.out.println("Woooooowwwww!"); }

}

public class Main {
public static void main(String[] args) {

} }

Chat cat1 = new Chat();
cat1.greeting(); // Meow !
Chien dog1 = new Chien(); dog1.greeting(); // Woof !
GrosChien bigDog1 = new GrosChien(); bigDog1.greeting(); // Woow !

Animaux animal1 = new Chien (); animal1.greeting(); // Woof !
Animaux animal2 = new Chien(); animal2.greeting(); // Woof !
Animaux animal3 = new GrosChien(); animal3.greeting(); // Woow ! //Animal animal4 = new Animal();

Chien dog2 = (Chien)animal2; // Woooooooooof!
GrosChien bigDog2 = (GrosChien)animal3; // Woooooowwwww! Chien dog3 = (Chien)animal3; // Woooooooooof! dog2.greeting(dog3); // Woooooooooof!
dog3.greeting(dog2); // Woooooooooof! dog2.greeting(bigDog2); // Woooooooooof! bigDog2.greeting(dog2); // Woooooowwwww! bigDog2.greeting(bigDog1); // Woooooowwwww!
Chat cat2 = (Chat)animal2;

// LES RÉSULTATS

// Meow! Ce résultat s'explique par le fait que l'on fait appel la sous-classe. // Chat cat1 = new Chat(); cat1.greeting();
// Woof! Ce résultat s'explique par le fait que l'on fait appel la sous-classe. // Chien dog1 = new Chien(); dog1.greeting();

// Woow! Ce résultat s'explique par le fait que l'on fait appel la sous-classe. //GrosChien bigDog1 = new GrosChien(); bigDog1.greeting();
// Woof! Ce résultat s'explique par le fait que l'on fait appel la sous-classe. // Animaux animal1 = new Chien (); animal1.greeting();

// Woof! Ce résultat s'explique par le fait que l'on fait appel la sous-classe. // Animaux animal2 = new Chien(); animal2.greeting();
// Woow! Ce résultat s'explique par le fait que l'on fait appel la sous-classe.

// Animaux animal3 = new GrosChien(); animal3.greeting();
// Woooooooooof! Ce résultat s'explique par le fait que l'on fait appel du Downcast.
// Chien dog2 = (Chien)animal2;
// Woooooowwwww! Ce résultat s'explique par le fait que l'on fait appel du Downcast. // GrosChien bigDog2 = (GrosChien)animal3;
// Woooooooooof! Ce résultat s'explique par le fait que l'on fait appel du Downcast.
// Chien dog3 = (Chien)animal3;
// Woooooowwwww! Ce résultat s'explique par le fait que l'on fait appel du Downcast. // bigDog2.greeting(dog2);
// Woooooowwwww! Ce résultat s'explique par le fait que l'on fait appel du Downcast. // bigDog2.greeting(bigDog1);

// LES ERREURS.
// L'Erreur faite dans le code est que dans le Downcast Chat cat2 = (Chat)animal2; // Car ici Chien ne peut pas être castée à partir de Chat.

// Question 2 du TP5
// Pour que cercle et Carré héritent à la fois de Forme et Resizable.
// Nous avons créer les classes ResizableCercle, FormeCercle.
// ResizableCarre et FormeCarre.
// Ainsi ResizableCercle est une sous classe de la classe Cercle.
// Et qui implémente l'interface ResizableCercle.
// Ce même principe est appliqué à FormeCercle, ResizableCarre et FormeCarre.

...

Télécharger au format  txt (6.3 Kb)   pdf (37.1 Kb)   docx (214.1 Kb)  
Voir 3 pages de plus »
Uniquement disponible sur LaDissertation.com