Exercice Java corrigé abstract et static determiner l’exécution d’un programme donné

Exercice Java corrigé abstract et static determiner l’exécution d’un programme donné, tutoriel & guide de travaux pratiques en pdf.

Le programme AbstractStatic suivant utilise la hiérarchie de classes indiquée dans le code ci-dessous.

Il vous est demandé d’indiquer l’affichage exact produit par l’exécution du programme AbstractStatic.

class AbstractStatic {
    public static void main(String[] args) {
        N un = new N();
        N deux = new N(true);
        Z trois = new Z();
        Z quatre = new Z(false);
        Q cinq = new Q();

        un.m1();
        deux.m1();
        deux.m3();
        trois.m1();
        trois.m3();
        quatre.m3();
        cinq.m2();

        System.out.println(un.n);
        System.out.println(un.b);
        System.out.println(un.i);
        System.out.println(deux.n);
        System.out.println(deux.b);
        System.out.println(deux.i);
        System.out.println(trois.n);
        System.out.println(trois.b);
        System.out.println(trois.o);
        System.out.println(quatre.n);
        System.out.println(quatre.b);
        System.out.println(quatre.o);
        System.out.println(cinq.n);
        System.out.println(cinq.d);
    }
}
abstract class C {
    static int n = 0;

    C() {
        n++;
    }
    C(boolean b) {
        if (b) {
            n++;
        }
    }
}
abstract class R extends C {
    boolean b = false;
    R() {
        super();
    }
    R(boolean b) {
        super(b);
        n++;
    }
    abstract boolean m1();
}
class Q extends C {
    int d = 0;
    Q() {
        super(true);
    }
    boolean m1() {
        if (d == 1) {
            return true;
        }
        d++;
        return false;
    }
    void m2() {
        if (d == 2) {
            d++;
        }
    }
}
class N extends R {
    int i = 1;
    N() {
        super();
        b = false;
    }
    N(boolean b) {
        super(b);
        n++;
        i++;
    }
    boolean m1() {
        if (b) {
            b = false;
        } else {
            b = true;
        }
        return !b;
    }
    void m3() {
        i++;
    }
}
class Z extends R {
    int o;
    Z() {
        super();
        o++;
    }
    Z(boolean b) {
        super(b);
        o = 4;
    }
    boolean m1() {
        return !b;
    }
    void m3() {
        o++;
    }
}

La correction exercice Java (voir page 2 en bas)

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *