[PDF] [PDF] QCM de Java corrigé - IRIF

La marginalisation n'a rien `a voir avec la programmation La liaison tardive dy- namique permet d'utiliser pour chaque objet sa propre version d'une méthode ( en



Previous PDF Next PDF





[PDF] 1 Corrigé de Examen Programmation par les Objets en Java 1A Juin

Quel est l'intérêt de déclarer une interface pour ensuite l'implémenter avec des classes ? Ne peut-on déclarer directement des classes sans passer par une 



[PDF] Examen de Java Correction

Examen de Java Correction FIUPSO 3/DESS – Année 2001/2002 Hugues MOUNIER 1 février 2002 Modalités – Durée : 4 heures – Tous les documents sont 



[PDF] Examen Programmation Par les Objets en Java Juin 2108, 1A

Soit la classe Article vue en cours/TP On voudrait en dériver un certain nombre de sous-classes dont une classe TV qui redéfinit la prixTTC() d'un article avec une 



[PDF] QCM de Java corrigé - IRIF

La marginalisation n'a rien `a voir avec la programmation La liaison tardive dy- namique permet d'utiliser pour chaque objet sa propre version d'une méthode ( en



[PDF] correction - Loria

CORRECTION CORRECTION Examen 2012-2013 - Durée : 1h30 En Java, toutes les classes de base et les autres classes héritent de la classe Object D M Une méthode System out print(" de noël avec "+nbBoules+" boules"); 7



[PDF] correction - Loria

CORRECTION CORRECTION Examen 2014-2015 - Durée : 1h30 java util List numbers; 5 } > Question 2 En considérant le code suivant, indiquer les  



[PDF] Correction Examen POO janvier 2003 - Formations en Informatique

Correction Examen POO janvier 2003 Exercice 1 : Q1 Q 1 1 L'attribut de classe (statique) import java util *; public class CompteCheque implements Compte 



[PDF] CORRECTION 1 PARTIE : COURS (sans document) 1 QCM (35

Examen 1ère session 2015-2016 page 1 consacrée à des questions de cours, et une deuxième partie, avec document, consacrée à la réalisation de En JAVA , il est possible d'écrire des méthodes en dehors de toute classe On écrit les



[PDF] Examen final de Programmation Objet : Corrigé-type

Il faut pour cela qu'elles aient été définies auparavant dans la superclasse Robot avec le modificateur public (pour être utilisées par n'importe quelle classe) ou 



[PDF] Exercices en Java: 175 exercices corrigés - Couvre Java 8 (Noire

Synthèse : gestion de résultats d'examens entièrement sur les composants Swing introduits avec Java 2, ceci aussi bien pour les private boolean correct ;

[PDF] examen java corrigé

[PDF] examen javascript corrigé

[PDF] examen juge arbitre athletisme

[PDF] examen logique combinatoire

[PDF] examen math 2 st pdf

[PDF] examen math 3 st

[PDF] examen math 3 st pdf

[PDF] examen mecanique des fluides corrigé

[PDF] examen mecanique du point corrigé

[PDF] examen médical immigration canada

[PDF] examen medical immigration usa

[PDF] examen microbiologie l2

[PDF] examen microbiologie qcm

[PDF] examen microéconomie s2 qcm

[PDF] examen microscopique des bactéries apres coloration au bleu de methylene

QCM de Java corrig´e

1. Java est un langage

(a) Compil´e (b) Interpr´et´e (c)Compil´e et interpr´et´e (d) Ni compil´e ni interpr´et´e Le compilateur compile le code source vers un bytecode, la machine virtuelle Java (JVM) interpr`ete ce bytecode

2. Java est un langage d´evelopp´e par

(a) Hewlett-Packard (b)Sun Microsystems (c) Microsoft (d) Oracle

Par James Gosling chez Sun.

3. Combien d"instances de la classe A cr´ee le code suivant?

A x,u,v;

x=new A();

A y=x;

A z=new A();

(a) Aucune (b) Cinq (c) Trois

(d)DeuxIl y a deux instances de A cr´e´ees par les deuxnew, la premi`ere est r´ef´erenc´ee par x

et y, la deuxi`eme par z.

4. Pour la classe B d´efinie comme suit:

class B{ public B(){System.out.print("Ciao");}; public B(int i){this(); System.out.println("Bonjour "+i);}; qu"affichera l"instruction suivante?

B monB=new B(2003);

(a) erreur de compilation (b) erreur d"ex´ecution (c)CiaoBonjour 2003 (d) Bonjour 2003 L"instruction invoque le constructeur avec un argument entier (2003). Ce dernier appelle explicitement le constructeur sans arguments (this()) qui imprime "Ciao", et ensuite le message "Bonjour 2003" est imprim´e. 1 5. (a)Une classe peut impl´ementer plusieurs interfaces mais doit ´etendre une seule classe (b) Une classe peut impl´ementer plusieurs classes mais doit ´etendre une seule interface (c) Une classe peut impl´ementer plusieurs classes et peut ´etendre plusieurs interfaces (d) Une classe doit impl´ementer une seule interface et ´etendre une seule classe

C"est comme ¸ca

6. La liaison tardive est essentielle pour assurer

(a) l"encapsulation (b)le polymorphisme (c) l"h´eritage (d) la marginalisation La marginalisation n"a rien `a voir avec la programmation. La liaison tardive dy- namique permet d"utiliser pour chaque objet sa propre version d"une m´ethode (en fonction de la classe de l"objet d´etermin´ee `a l"ex´ecution). Ceci permet d"obtenir un code polymorphe. 7.

´Etant donn´e que la classe Grande ´etend la classe Petite, trouvez une ligne correcte parmi les

suivantes

(a)Petite y =new Petite(); Grande x= (Grande)y; Petite z=x;La deuxi`eme affectationGrande x= (Grande)y;essaye de transformer un objet

(r´ef´erenc´e par y) de la classePetitevers un objet de sa sous-classeGrande. Un tel downcasting est impossible.

(b)Grande x= new Grande(); Petite y = x; Grande z=(Grande)y;Tout va bien. On cr´ee un objet de classeGrander´ef´erenc´e par x. Ensuite on fait

une variable y (de typePetite) r´ef´erencer le mˆeme objet - c"est un upcasting explicite qui est toujours possible.`A la fin on fait encore une r´ef´erence z (cette foisGrande) sur ce mˆeme objet. Ce dernier downcasting est possible parce que l"objet est en fait une instance de la classeGrande.

(c)Grande x= new Grande(); Petite y = x; Grande z=y;C"est presque comme dans le cas pr´ec´edent, mais la derni`ere affectationGrande

z=(Grande)y;est un downcasting implicite, ce qui est interdit.

(d)Petite y =new Petite(); Grande x= (Grande)y; Petite z=(Petite)x;Grande x=(Grande)y;est un downcasting impossible, comme dans le (a).

2

8. Pour la classe C d´efinie comme suit:

class C{ public static int i; public int j; public C(){i++; j=i;} qu"affichera le code suivant?

C x=new C(); C y=new C(); C z= x;

System.out.println(z.i + " et " + z.j);

(a) 2 et 2 (b) 1 et 1 (c)2 et 1 (d) 1 et 3 On remarque d"abord, que i est une variable (statique) de classe commune `a toutes les instances, tandis que chaque objet de la classe a son propre j. Donc, apr`es la premi`ere affectation on a i=1, x.j=1; apr`es la deuxi`eme: i=2, y.j=2 (x.j a rest´e

inchang´e et ´egal `a 1); la troisi`eme n"appelle pas le constructeur mais fait z r´ef´erencer

le mˆeme objet que x. D"o`u z.i est la valeur globale de i, c-`a-d2, et z.j=x.j=1.

9. Pour les classes A et B d´efinies comme suit:

class A{class B extends A{ public int x; public B(){x++;} public A(){x=5;}public B(int i){this(); x=x+i;} }public B(String s){super(); x- -;} qu"affichera le code suivant? B b1=new B(); B b2 =new B(2003); B b3= new B("Bonjour"); System.out.println(b1.x + " et " + b2.x + " et encore " + b3.x ); (a)6 et 2009 et encore 4 (b) 1 et 2004 et encore 4 (c) 1 et 2004 et encore 2003 (d) autre chose Le constructeur B() n"appelle explicitement nithis(), nisuper(). Donc, par con- vention, le constructeur de la super-classe A est appel´e (implicitement) avant de proc´eder. Ceci donne b1.x=6. Le constructeur B(2003) appelle le constructeur pr´ec´edent avec lethis(), ce qui donne b2.x=6. Ensuite on y ajoute 2003, ce qui donne finalement b2.x=2009 Le constructeur B("Bonjour") appelle le constructeur de la super-classe A avec lesuper(). Ceci donne b3.x=5. Ensuite on le decr´emente et on a finalement b3.x=4. 3

10. Pour les classes Machin et Bidul d´efinies comme suit:

class Machin{class Bidul extends Machin{ public int f(){return(5)}; public int f(){return(2)}; public static int g(){return (6);}public static int g(){return (4);} qu"affichera le code suivant?

Bidul b=new Bidul(); Machin m =b;

System.out.println(m.f()*m.g());

(a) 30 (b) 20 (c) 8 (d)12La methode g est statique, la version utilis´ee est d´etermin´ee par le compilateur en fonction du type de la r´ef´erence. Comme m est une r´ef´erenceMachin, m.g() - c"est toujours la m´ethode g de la classeMachin(valeur 6). Pour f tout est diff´erent: sa version utilis´ee est d´etermin´ee dynamiquement (`a l"execution)par la JVM en fonc- tion du type de l"objet. Dans le cas de m.f(), m fait r´ef´erence `a une instance deBidul, c"est donc la version de f red´efinie dans la classeBidulqui est invoqu´ee (valeur 2).

D"o`u la r´eponse.

4quotesdbs_dbs1.pdfusesText_1