TP3 1320
TD : TP3 1320. Recherche parmi 300 000+ dissertationsPar Sakale • 27 Mai 2020 • TD • 923 Mots (4 Pages) • 870 Vues
// 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.
...