Пожалуйста, не зацикливайтесь на орфографических ошибках.Я не понял, почему функция Prof'а Saluer работает с аргументами Prof в выводе на экран.
Вывод кода:
Мес.Коллега Неймана!
Моя личная класс.
class Personne {
String nom;
Personne() {
this("Anonymus");
}
Personne(String nom) {
this.nom = nom;
}
String saluer(Personne p) {
return this.nom + " salue " + p.nom + " !";
}
public String toString() {
return "La personne " + nom + ".";
}
}
Мой другой класс (PROF)
class Prof extends Personne {
String nomCours = "Java";
Prof() {
}
Prof(String arg) {
this("NoName", arg);
}
Prof(String arg1, String arg2) {
super(arg1);
this.nomCours = arg2;
}
String saluer(Prof p) {
return "Mes hommages pour ma/mon collègue " + p.nom + " !";
}
String saluer(Personne p) {
return "La/le prof " + this.nom + " présente ses hommages à " + p.nom + " !";
}
String saluer(Etudiant e) {
if (this.nomCours.equals(e.nomCours))
return "Bonjour à mon étudiant(e) " + e.nom + " !";
return "Bonjour de la part de " + this.nom + " !";
}
public String toString() {
return "Le prof " + nom + " donne le cours " + nomCours + ".";
}
}
Мой основной класс
public static void main(String[] args) {
Personne mixte1 = new Prof("Poincaré", "Math");
Personne mixte2 = new Prof("Neumann", "Info");
Personne mixte3 = new Etudiant("Toi", "Info");
System.out.println(mixte1.saluer(((Prof)mixte2))); // problem here
}