[Précédent]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]

9.5
  abstract et final - Enoncé
Niveau 1
 
 
But:
  Trouver les erreurs dans une hiérarchie de classes    
Thème:
  abstract, final    
Fichiers:
  AbstractFinal.java    

Le programme AbstractFinal ci-dessous implémente une petite hiérarchie de 4 classes (A, B, C et D). Il y a 3 erreurs dans la méthode main et 1 erreur dans la classe D. Toutes les erreurs sont dûes à une utilisation erronée des modificateurs abstract et final. Expliquez ces erreurs.

 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
class AbstractFinal {
    public static void main(String[] args) {
        
        A[] tab = new A[3];
        
        tab[0] = new A();
        tab[1] = new B();
        tab[2] = new C();
        
        tab[1].b = 2;
        ((C)tab[2]).c = 3;
    }
}

abstract class A {
    int a;
}

class B extends A {
    int b;
}

class C extends A {
    final double c = 1;
}

abstract class D extends A {
    double d;

    int operation(int a) {
        return (a * 2);
    }

    abstract int calcul(int b) {
        
    }

    abstract int machin();
}

 


[Précédent]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]