un guide sur la programmation pour les débutants. Il est très bien fait, je vous le conseille personnellement.Descrição completa
un guide sur la programmation pour les débutants. Il est très bien fait, je vous le conseille personnellement.Full description
Description complète
Cours Programmation CNCDescription complète
by Abdesslem Karim
base de programmation cDescription complète
Full description
pour les programmeurs DotNet.Description complète
exercices avec solutions de programmation linéaireDescription complète
Description complète
Full description
programmation didactique présentée en 2010, Andalousie. Pour orienter.Descripción completa
exercices avec solutions de programmation linéaireFull description
Atelier Programmation Evenementielle
visitez mon blog: www.lyesakram.blogspot.com
exercices avec solutions de programmation linéaireFull description
Full description
grafos y sus aplicaciones.Descripción completa
javaDescription complète
javaDescripción completa
QCM 1 1) Java est un langage… (a) (a) Inter Interpré prété té (b) (b ) Comp Compililé é (c) (c) Les deux deu x (d) Ni l'un, l'u n, ni l'autre l'au tre
2) Comment indiquer qu'une classe A hérite d'une classe B ? (a) (a ) clas class s A ::B :: B (b) (b) class cla ss A exten extends ds B (c) class clas s A implement impl ements sB (d) (d) class cla ss A inher inherit it B
QCM 2 1) Combien d’instances de la classe A créera le code suivant? A x,y,z; x=new A(); y=x; z=new A();
(a) (a) Aucu Aucune ne (b) Trois (c) Deux
2) Indiquer les mots qui n'a pas de place en java (a) transient (b) select (c) for
transient permet d'interdire la sérialisation de certaines variables d'une classe (cf plus loin). volatile est utilisé sur les variables qui peuvent être
QCM 3 1) Les attributs static peuvent être (a) Déclarer private (b) Utiliser sans aucune instanciation de la classe (c) (a) et (b) (d) Aucune des deux
2) Les méthodes static peuvent (a) être surchargées en méthodes d'instances (b) non c'est illicite. (c) accéder direct aux méthodes qui ne sont pas statiques et qui sont définies dans la même classe.
3) Indiquer les instructions qui sont syntaxiquement incorrecte? (a) Person[] p = new Person[5]; (b) Person[5] p; (c) Person[] p []; (d) Person p[][] = new Person[2][];
QCM 4 Pour la classe B définie comme suit: class B { public B(){System.out.print(”Bonjour ”);}; public B(String nom) { this(); System.out.println(” c'est moi ”+nom);} } 1) Qu’affichera l’instruction suivante : B monB=new B('' java '') ? (a) erreur de compilation (b) erreur d’exécution (c) c'est moi java Bonjour (d) Bonjour c'est moi java 2) la syntaxe super.super.x est impossible en java (a) F
(b) vrai
QCM 4 class ClasseA { double x ; } class ClasseB extends ClasseA { int x ; } class ClasseC extends ClasseB { char x ; } 1) Dans une méthode de la ClasseC, quelle variable est désignée par x : (utiliser 1 : double x 2 : int x 3 : char x)
(a) x :
3
(b) this.x : (c) super.x :
3 2
(d) ((ClasseB) this).x :
3
(e) ((ClasseA) this).x :
3
QCM 5 class ClasseA{... public void affiche(){ System.out.println("je suis un objet de ClasseA") ;} } class ClasseB extends ClasseA{... public void affiche(){ System.out.println("je suis un objet de ClasseB") ; } } 1) Quel est le résultat de l'exécution du programme suivant ? public class ClasseTest{ public void main(String [] args) { ClasseA a = new ClasseB() ; a.affiche() ; }} (a) je suis un objet de ClasseA (b) je suis un objet de ClasseB
QCM 6 1) Indiquer l'affirmation correcte: (a) La surcharge correspond à avoir des méthodes de même nom mais de profils différents dans une même classe (b) La redéfinition correspond à avoir deux méthodes de même nom et de même profils dans deux classes hérités (c) Les deux phrase sont fausses.
Méthode final ●
Si une méthode est déclarée final, celle-ci ne peut pas être redéfinie (a) Vrai
●
(b) Faux
Réponse (a), cela est important en terme de sécurité. Donner un exemple ?
Classe final ●
Si une classe A est déclarée final, il est impossible de créer des sous-classes héritant de A (a) Vrai
●
(b) Faux
Réponse (a), mais pour quoi ? – Mêmes raisons que pour les méthodes
Héritage Multiple ●
Java permit l'héritage Multiple (a) Vrai ●
●
(b) Faux
Réponse (b) car si l'on hérite de deux méthodes ayant même signature dans deux super classes, quelle code doit-on choisir ? Performance en cas de sous-typage
Héritage Multiple (Solution) ●
●
●
●
Il n'y a pas d'héritage multiple en Java Est-il possible d'émuler l'héritage multiple? Si oui par qu'il moyenne ? Java définit des interfaces et permet à une classe d'implémenté plusieurs interfaces Une interface définit un type sans code
Interface ●
●
Est-Il possible d’instancier une interface ? Pour quoi ? Non, car l'interface ne définie pas le code de ses méthodes
Implantation d'interface ●
Comment peut-on implémenté un interface java ? Par la déclaration d'une classe qui fournira le code pour l'ensemble des méthodes abstraites
Quiz @override permet de : (a) Générer la documentation de méthode (b) D'indiquer au compilateur de générer une erreur si une méthode ne redéfinit pas une autre (c) D'indiquer au compilateur de générer une erreur si une méthode ne recharge pas une autre (d) Aucune de ces affirmations.
Quiz Indique si le code suivant compile ou non ? public interface Constants{ public static int MAX_SIZE = 100 ; public static String ok = ''OK''; } (a) compile
(b) Erreur de compilation
Quiz Laquelle des instructions suivantes est correcte ? a) variable sous-classe = variable super-classe ; b) variable super-classe = variable sous-classe ; Réponse (b), car les sous classes héritent par transitivité les types des super classes.
Quiz Considérons la hiérarchie de classes suivante :
Et l’instanciation : Cours cours[i] = new Informatique(''java'', ….) Discuter l'instruction suivant : if (cours[i] instanceof Pratique) System.out.print(cours[i].langage);
solution ●
Un message d’erreur lors de la compilation :
Cannot resolve symbol symbol : variable langage location: class Cours System.out.print(cours[i].langage); ●
Le compilateur voit que cours[i] est déclaée comme un Cours, Il n’est donc pas sûr que langage existe pour l’objet Code correct : if (cours[i] instanceof Pratique) System.out.print(((Pratique)cours[i]).langage);
Quiz
class SuperClasse { SuperClasse() { } }
class SousClasse extends SuperClasse { class ExplicitCast { int v; public static void main(String[] args) { SousClasse() { SuperClasse sup = new SousClasse(); super(); SousClasse sous; } sous = sup; // ok faux void m1() { sous = (SousClasse)sup; // ok faux } } m2(sup); // ok faux m2((SousClasse)sup); // ok faux System.out.print(sup.v); // ok faux System.out.print(((SousClasse)sup).v); // ok faux sup.m1(); // ok faux ((SousClasse)sup).m1(); // ok faux } static void m2 (SousClasse sous2) { }