[PDF] QCM de Java corrig´e - IRIF



Previous PDF Next PDF







QCM de Java corrig´e - IRIF

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



QCM de POO-2005 corrig´e - IRIF

1 L’interpr´etation des programmes Java est effectu´ee par (a) API (b) JDK (c) JVM (d) AWT La machine virtuelle Java (JVM) interpr`ete le bytecode des programmes Java 2 Trouver la phrase qui n’est pas une caract´erisation correcte de polymorphisme : (a) le P est un m´ecanisme consistant a rassembler les donn´ees et les m´ethodes



Corrig¶e du QCM de Programmation 1 - IRIF

4 Toutes les classes de Java h¶eritent de Object 5 Le passage de paramµetres en Java est efiectu¶e par valeur, m^eme si les variables objet sont des r¶ef¶erences, et donc leur passage par valeur ressemble µa un passage par r¶ef¶erence 6 Un objet traite un message re»cu en ex¶ecutant une m¶ethode d’instance, c’est juste une



TD n 6 Un peu de classe abstraite 1 Interfaces vs - IRIF

Java 8 : on eutp aussi dé nir des méthodes statiques ainsi que des implémentations arp défaut des méthodes non-statiques (dclaréation dépréceé du mot-clé default ), 'utilisantn asp d'attributs non-statiques (car non-existants)



Gestion des tests avec JUnit - IRIF

Java, JUnit fait partie d’un cadre plus gen´ eral pour le test´ unitaire des programmes, le modele de conception (` pattern) XUnit (CUnit, ObjcUnit, etc ) JUnit offre : • des primitives pour creer un test (´ assertions) • des primitives pour gerer des suites de tests´ • des facilites pour l’ex´ ecution des tests´



TP n 2 Interfaces graphiques - IRIF

Samples, puis Java et en n Anagram Game, puis acceptez tout ce que vous proposera l’IDE C˘a y est Vous venez de cr eer un nouveau projet Java, dont le nom est surement AnagramGame, et qui contient une interface graphique Faites le fonctionner en ex ectuant le programme Anagrams java du paquet com toy anagrams ui 1



Exercice 1: Application client/serveur - IRIF

Exercice 2: Application Pair-à-Pair L’objectifdecetexerciceestderéaliseruneapplicationdistribuéepair-à-pairen utilisantlessocketsUDPenmodediffusion(i e



Compléments en POO - Free

•les bibliothèques officielles du JDK (fournissant l’API16 Java), très nombreuses et bien documentées (+ nombreuses bibliothèques de tierces parties) 13 En fait, plusieurs : notamment Java SE (StandardEdition), la plus courante, et Jakarta EE (ex-Java EE) 14 C sans pointeurs et struct≃ Java sans objet 15 JavaVirtualMachine 16



Initiation à la statistique avec R - Dunod

• Rest écrit en C ,C++ FORTRAN et Java Deplus,est plus orienté programmation objet que la plupart des autres logiciels ou langage de programmation statistique • R est un clone gratuit du langage S-Plus, actuellement commercialisé par Tibco Software Inc , créé autour du langage S qui a été développé par John Chambers des



Exercices d’examen sur les graphes (niveau L3) avec corrigés

Corrigé : 1) Il existe des cycles eulériens puisque chaque sommet est de degré pair 2) On trouve 16 cycles eulériens, construits grâce à cette arborescence (mais si on le fait à la main, mieux vaut dessiner les 16 cycles) : 4) Chemins eulériens On a trois iles A, B, C sur une rivière dont les rives sont notées

[PDF] dossier technique de la station d 'épuration à boues activées à lit

[PDF] 5 Le cycle de l 'eau domestique le traitement des eaux

[PDF] Schéma d 'une station d 'épuration - Ipalle

[PDF] Solutions de charge pour véhicules électriques - Schneider Electric

[PDF] Delta - Mivb

[PDF] Station météo radio guidée Notice d 'utilisation 1 Domaine d

[PDF] STATION METEO SANS FIL réf 107223 - Avidsencom

[PDF] Manuel d 'Utilisation wwwstarmeteofr - La Crosse Technology

[PDF] Consulter le Manuel - La Crosse Technology

[PDF] manuel d 'utilisation - La Crosse Technology

[PDF] STATION METEO SANS FIL 433 MHz - Eschenbach Optik

[PDF] Open Tour : Visit Paris aboard our bus

[PDF] guide des procedures administratives relatives au departement de l

[PDF] Correction

[PDF] Correction

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_dbs11.pdfusesText_17