salut
Salut
Pouvez vous me réponde aux question suivante ?
Merci d’avance :=)
. pour chacun des trois envois de messages de la méthode main, dites moi svp si cet envoi de message
est correctement typé et si c’est le cas, donnez moi le type de la méthode utilisée par le typage à la
compilation ., ?
. pour chacun des envois de messages de la méthode main, donnez l’entier affiché par cet envoi de
message à l’exécution. La question ne se pose que pour les envois de message corrects du point
de vue du typage. ?
. lesquelles des conversions de type explicites (cast) de la méthode main provoquent une erreur à
la compilation ?
lesquelles des conversions de type explicites (cast) de la méthode main provoquent une erreur à
l’exécution ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class Livre{
String auteur, titre, editeur;
}
class Roman extends Livre{}
class Editeur{
int compare(Livre l1, Livre l2, Livre l3){
return 1;
}
int compare(Roman l1, Roman l2, Livre l3){
return 2;
}
int compare(Livre l1, Livre l2, Roman l3){
return 3;
}
}
class PCNAM extends Editeur{
int compare(Livre l1, Livre l2, Livre l3){
return 4;
}
}
class Typage{
public static void main(String[] args){
Livre lv1 = new Livre();
Livre lv2 = new Roman();
Roman rm1 = new Roman();
Roman rm2 = new Roman();
Roman rm3 = new Roman();
Editeur ed = new PCNAM();
// envois de message
System.out.println(ed.compare(rm1,lv1,lv2));
System.out.println(ed.compare(lv2,rm1,lv1));
1
System.out.println(ed.compare(rm1,rm2,rm3));
// conversions de type
rm1 = (Roman) lv1;
rm2 = (Roman) lv2;
PCNAM pc = (PCNAM) ed;
pc = (PCNAM) lv1;
}
}