SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
1
Nom : Date : Avril 2015
Prénom : Durée : 45 min
Section /groupe :
Interrogation 1 POO
Partie I (3 points): Cochez les bonnes réponses.
Bonne réponse=0,25pt ; mauvaise réponse ou réponse incomplète = -0,25pt ; pas de réponse=0pt.
(Toutes les questions ont au moins une bonne réponse)
1. La compilation d’un programme java :
(a) se fait par la commande grep
(b) génère un code directement exécutable sur la machine cible
(c) crée un fichier de suffixe .class
(d) vérifie la syntaxe d’un programme
2. Un fichier de suffixe .class :
(a) peut être interprété par la JVM.
(b) contient un source java.
(c) contient un code exécutable directement sur la machine cible.
(d) dépend de la machine cible.
3. La JVM « Java Virtual Machine »
(a) permet aux programmeurs d’éditer des programmes Java.
(b) permet aux programmes Java de s’exécuter sur n’importe quelle plateforme.
(c) permet des contrôles lors de l'exécution des programmes java.
(d) sert de passerelle entre le bytecode et le langage machine.
4. Une méthode déclarée static:
(a) est toujours une méthode de classe
(b) est toujours une méthode d’instance
(c) peut être redéfinie dans une classe dérivée
(d) ne peut être appelée qu’à partir de méthodes de la classe où elle a été définie
5. Qu'est-ce qu'une classe par rapport à un objet ?
(a) une classe est une instance d'un objet.
(b) un objet est une instance d'une classe.
(c) il n'y a aucun lien entre classe et objet.
(d) une classe est un modèle à partir duquel on peut créer des objets.
6. Une méthode déclarée public :
(a) est toujours une méthode de classe
(b) est toujours une méthode d’instance
(c) peut être appelée uniquement à partir d’objets de la classe où elle a été définie
(d) peut être appelée directement à partir d’objets de la classe où elle a été définie
7. En java, la signature d’une méthode :
(a) n’est pas concernée par le type de retour de la méthode.
(b) dépend du type et du nombre de paramètres.
(c) dépend du type de retour de la méthode.
(d) n’est concernée que par le nom de la méthode.
2
8. En java le passage des paramètres des méthodes se fait :
(a) par nom
(b) par valeur
(c) par partage de variable
(d) par référence
9. Un attribut déclaré private static dans une classe A :
(a) ne peut être modifié qu’à l’intérieur d’une méthode statique de A.
(b) peut être modifié à l’intérieur d’une méthode non statique de A.
(c) ne peut pas être initialisée
(d) est indépendante des instances de la classe A.
10. Un attribut déclaré final dans une classe :
(a) ne peut être modifié.
(b) doit être initialisée au plus tard dans le constructeur de la classe.
(c) ne peut pas être initialisée.
(d) peut être modifie par un setteur.
11. En java, quand deux méthodes ont la même signature :
(a) il peut s’agir d’une surcharge
(b) il peut s’agir d’une redéfinition
(c) c’est impossible.
(d) il peut s’agir d’une surdéfinition
12. Une donnée d’un type primitif:
(a) peut être un objet
(b) peut être crée par un new
(c) n’est pas une référence
(d) peut être un identifiant
Partie 2 (7 points):
1. Qu’affiche le programme suivant : (1 pts)
class A {
void f(){System.out.print(”A.f() ”) ;g() ;}
void g(){System.out.print(”A.g() ”) ;}
}
class B extends A{
void f(){System.out.print(”B.f() ”) ;g() ;}
void g(){System.out.print(”B.g() ”) ;}
class Test{
public static void main(String[] args){A a1=new B() ; a1.f() ; ((A)a1).f() ; ((B)a1).f() ; }
}
B.f() B.g() B.f() B.g() B.f() B.g()
3
2. Un Robot se caractérise par son type, son code (qui l’identifie de façon unique), son état (marche ou
repos) et son orientation (1 = Nord, 2 =Est, 3 = Sud, 4 = West).
Question 1 : Ecrivez en java la classe Robot avec les informations utiles et les méthodes suivantes :
- Un constructeur qui permet d’initialiser les attributs du Robot.
- Les setters et les getters nécessaires pour un Robot.
- La méthode affiche() qui permet d’afficher l’état et l’orientation d’un Robot.
- La méthode on_off () qui permet d’allumer ou éteindre le Rebot.
- La méthode tourner () qui permet de changer l’orientation du Robot.
Question 2 : Redéfinir la méthode equals pour tester si un rebot a les mêmes caractéristiques qu’un autre
rebot.
Question 3 : En utilisant cette classe Robot ? écrire la classe TestRobot qui permet, dans sa fonction
main, de créer un tableau de quatre robots, d’initialiser chacun de ses robots, de les afficher, de les mettre
en marche (état=true) et de les orienter vers des orientations différentes chacun de l’autre ainsi que les
comparés deux à deux.
public class Robot {
final private String type;(0,25pt)
final private int code; (0,25pt)
static private int n=0; (0,25pt)
private boolean etat=false; (0,25pt)
private int orientation; (0,25pt)
//constructeur
public Robot (String type){ (0,5pt)
this.type=type;
code=++n;
}
//getteurs (0,25pt)
public int getcode(){
return code;
}
public String gettype(){
return type;
}
public int getorientation(){(0,25pt)
return orientation;
}
public boolean getetat(){(0,25pt)
return etat;
}
//affiche
public void affiche(){(0,5pt)
System.out.println(code+" "+" "+gettype()+" "+ etat+" "+ orientation);
}
//on_off
public void on_off(){ (0,25pt)
etat=!etat;
}
public void tourner(int s){ (0,25pt)
orientation=s;
}
public boolean equals(Robot r){ (01 pt)
return
((this.etat==r.etat)&&(this.orientation==r.orientation)&&(this.type==r.type));
}
}
4
public class TestRobot { (0,25pt)
public static void main(String[] args) {
Robot tab[]=new Robot[4]; (0,25pt)
for(int i=0; i<tab.length;i++)(0,25pt)
{
tab[i]= new Robot("T"+i); (0,25pt)
tab[i].tourner(i+1); (0,25pt)
tab[i].affiche();(0,25pt)
}
System.out.println(tab[0].equals(tab[1])); (0,25pt)
System.out.println(tab[2].equals(tab[3])); (0,25pt)
}
}

Contenu connexe

Tendances

Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5Mamadou Oury Ba
 
Améliorer la qualité du code par restriction du langage
Améliorer la qualité du code par restriction du langageAméliorer la qualité du code par restriction du langage
Améliorer la qualité du code par restriction du langagemercury_wood
 
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteC# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteFabrice JEAN-FRANCOIS
 
Chapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaChapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaAziz Darouichi
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfacesAziz Darouichi
 
Les nouveautés de Groovy 2 -- Mix-IT 2013
Les nouveautés de Groovy 2 -- Mix-IT 2013Les nouveautés de Groovy 2 -- Mix-IT 2013
Les nouveautés de Groovy 2 -- Mix-IT 2013Guillaume Laforge
 
Java 8 - interfaces
Java 8 - interfacesJava 8 - interfaces
Java 8 - interfacesFranck SIMON
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generaleAmir Souissi
 
Introduction java
Introduction javaIntroduction java
Introduction javaFouad Root
 

Tendances (17)

Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5
 
Exceptions
ExceptionsExceptions
Exceptions
 
Améliorer la qualité du code par restriction du langage
Améliorer la qualité du code par restriction du langageAméliorer la qualité du code par restriction du langage
Améliorer la qualité du code par restriction du langage
 
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteC# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
 
Javascript 2.0
Javascript 2.0 Javascript 2.0
Javascript 2.0
 
JAVA Chapitre7
JAVA Chapitre7JAVA Chapitre7
JAVA Chapitre7
 
JAVA Chapitre6
JAVA Chapitre6JAVA Chapitre6
JAVA Chapitre6
 
Chapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en JavaChapitre 11: Expression Lambda et Référence de méthode en Java
Chapitre 11: Expression Lambda et Référence de méthode en Java
 
Chap 6 : classes et interfaces
Chap 6 : classes et interfacesChap 6 : classes et interfaces
Chap 6 : classes et interfaces
 
Les nouveautés de Groovy 2 -- Mix-IT 2013
Les nouveautés de Groovy 2 -- Mix-IT 2013Les nouveautés de Groovy 2 -- Mix-IT 2013
Les nouveautés de Groovy 2 -- Mix-IT 2013
 
Java 8 - interfaces
Java 8 - interfacesJava 8 - interfaces
Java 8 - interfaces
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
 
Ch05
Ch05Ch05
Ch05
 
Programmation Java
Programmation JavaProgrammation Java
Programmation Java
 
J Unit
J UnitJ Unit
J Unit
 
Java 8 - lambda
Java 8 - lambdaJava 8 - lambda
Java 8 - lambda
 
Introduction java
Introduction javaIntroduction java
Introduction java
 

Similaire à Copy of interrogation 1 module poo avec corrigé type univ bejaia promo 2014 2015 (tchi drive)

Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
chapitre4-HeritageetPolymorphisme.pdf
chapitre4-HeritageetPolymorphisme.pdfchapitre4-HeritageetPolymorphisme.pdf
chapitre4-HeritageetPolymorphisme.pdfMoez Moezm
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008Khalil Lechheb
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovyguest6e3bed
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation GroovyJS Bournival
 
Retours sur java 8 devoxx fr 2016
Retours sur java 8 devoxx fr 2016Retours sur java 8 devoxx fr 2016
Retours sur java 8 devoxx fr 2016Jean-Michel Doudoux
 
Devoxx France 2023 - Les nouveautés de Java 19 et 20
Devoxx France 2023 - Les nouveautés de Java 19 et 20Devoxx France 2023 - Les nouveautés de Java 19 et 20
Devoxx France 2023 - Les nouveautés de Java 19 et 20Jean-Michel Doudoux
 
Trivial Java Second
Trivial Java SecondTrivial Java Second
Trivial Java SecondKatia Aresti
 
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Loic Yon
 
Introspection reflection
Introspection reflectionIntrospection reflection
Introspection reflectionEric Toguem
 
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !Paris Salesforce Developer Group
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 
POO - Chapitre6.pptx
POO - Chapitre6.pptxPOO - Chapitre6.pptx
POO - Chapitre6.pptxRAYENBOUAFIF1
 
Chapitre4 cours de java
Chapitre4 cours de javaChapitre4 cours de java
Chapitre4 cours de javainfo1994
 
c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)Mahfoud EL HOUDAIGUI
 

Similaire à Copy of interrogation 1 module poo avec corrigé type univ bejaia promo 2014 2015 (tchi drive) (20)

Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
chapitre4-HeritageetPolymorphisme.pdf
chapitre4-HeritageetPolymorphisme.pdfchapitre4-HeritageetPolymorphisme.pdf
chapitre4-HeritageetPolymorphisme.pdf
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Retours sur java 8 devoxx fr 2016
Retours sur java 8 devoxx fr 2016Retours sur java 8 devoxx fr 2016
Retours sur java 8 devoxx fr 2016
 
Java
JavaJava
Java
 
Devoxx France 2023 - Les nouveautés de Java 19 et 20
Devoxx France 2023 - Les nouveautés de Java 19 et 20Devoxx France 2023 - Les nouveautés de Java 19 et 20
Devoxx France 2023 - Les nouveautés de Java 19 et 20
 
POO-JAVA-partie-1.pdf
POO-JAVA-partie-1.pdfPOO-JAVA-partie-1.pdf
POO-JAVA-partie-1.pdf
 
Trivial Java Second
Trivial Java SecondTrivial Java Second
Trivial Java Second
 
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
 
Introspection reflection
Introspection reflectionIntrospection reflection
Introspection reflection
 
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Part1
Part1Part1
Part1
 
POO - Chapitre6.pptx
POO - Chapitre6.pptxPOO - Chapitre6.pptx
POO - Chapitre6.pptx
 
XB-Java.ppt
XB-Java.pptXB-Java.ppt
XB-Java.ppt
 
Memo java
Memo javaMemo java
Memo java
 
Chapitre4 cours de java
Chapitre4 cours de javaChapitre4 cours de java
Chapitre4 cours de java
 
c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)
 

Copy of interrogation 1 module poo avec corrigé type univ bejaia promo 2014 2015 (tchi drive)

  • 1. 1 Nom : Date : Avril 2015 Prénom : Durée : 45 min Section /groupe : Interrogation 1 POO Partie I (3 points): Cochez les bonnes réponses. Bonne réponse=0,25pt ; mauvaise réponse ou réponse incomplète = -0,25pt ; pas de réponse=0pt. (Toutes les questions ont au moins une bonne réponse) 1. La compilation d’un programme java : (a) se fait par la commande grep (b) génère un code directement exécutable sur la machine cible (c) crée un fichier de suffixe .class (d) vérifie la syntaxe d’un programme 2. Un fichier de suffixe .class : (a) peut être interprété par la JVM. (b) contient un source java. (c) contient un code exécutable directement sur la machine cible. (d) dépend de la machine cible. 3. La JVM « Java Virtual Machine » (a) permet aux programmeurs d’éditer des programmes Java. (b) permet aux programmes Java de s’exécuter sur n’importe quelle plateforme. (c) permet des contrôles lors de l'exécution des programmes java. (d) sert de passerelle entre le bytecode et le langage machine. 4. Une méthode déclarée static: (a) est toujours une méthode de classe (b) est toujours une méthode d’instance (c) peut être redéfinie dans une classe dérivée (d) ne peut être appelée qu’à partir de méthodes de la classe où elle a été définie 5. Qu'est-ce qu'une classe par rapport à un objet ? (a) une classe est une instance d'un objet. (b) un objet est une instance d'une classe. (c) il n'y a aucun lien entre classe et objet. (d) une classe est un modèle à partir duquel on peut créer des objets. 6. Une méthode déclarée public : (a) est toujours une méthode de classe (b) est toujours une méthode d’instance (c) peut être appelée uniquement à partir d’objets de la classe où elle a été définie (d) peut être appelée directement à partir d’objets de la classe où elle a été définie 7. En java, la signature d’une méthode : (a) n’est pas concernée par le type de retour de la méthode. (b) dépend du type et du nombre de paramètres. (c) dépend du type de retour de la méthode. (d) n’est concernée que par le nom de la méthode.
  • 2. 2 8. En java le passage des paramètres des méthodes se fait : (a) par nom (b) par valeur (c) par partage de variable (d) par référence 9. Un attribut déclaré private static dans une classe A : (a) ne peut être modifié qu’à l’intérieur d’une méthode statique de A. (b) peut être modifié à l’intérieur d’une méthode non statique de A. (c) ne peut pas être initialisée (d) est indépendante des instances de la classe A. 10. Un attribut déclaré final dans une classe : (a) ne peut être modifié. (b) doit être initialisée au plus tard dans le constructeur de la classe. (c) ne peut pas être initialisée. (d) peut être modifie par un setteur. 11. En java, quand deux méthodes ont la même signature : (a) il peut s’agir d’une surcharge (b) il peut s’agir d’une redéfinition (c) c’est impossible. (d) il peut s’agir d’une surdéfinition 12. Une donnée d’un type primitif: (a) peut être un objet (b) peut être crée par un new (c) n’est pas une référence (d) peut être un identifiant Partie 2 (7 points): 1. Qu’affiche le programme suivant : (1 pts) class A { void f(){System.out.print(”A.f() ”) ;g() ;} void g(){System.out.print(”A.g() ”) ;} } class B extends A{ void f(){System.out.print(”B.f() ”) ;g() ;} void g(){System.out.print(”B.g() ”) ;} class Test{ public static void main(String[] args){A a1=new B() ; a1.f() ; ((A)a1).f() ; ((B)a1).f() ; } } B.f() B.g() B.f() B.g() B.f() B.g()
  • 3. 3 2. Un Robot se caractérise par son type, son code (qui l’identifie de façon unique), son état (marche ou repos) et son orientation (1 = Nord, 2 =Est, 3 = Sud, 4 = West). Question 1 : Ecrivez en java la classe Robot avec les informations utiles et les méthodes suivantes : - Un constructeur qui permet d’initialiser les attributs du Robot. - Les setters et les getters nécessaires pour un Robot. - La méthode affiche() qui permet d’afficher l’état et l’orientation d’un Robot. - La méthode on_off () qui permet d’allumer ou éteindre le Rebot. - La méthode tourner () qui permet de changer l’orientation du Robot. Question 2 : Redéfinir la méthode equals pour tester si un rebot a les mêmes caractéristiques qu’un autre rebot. Question 3 : En utilisant cette classe Robot ? écrire la classe TestRobot qui permet, dans sa fonction main, de créer un tableau de quatre robots, d’initialiser chacun de ses robots, de les afficher, de les mettre en marche (état=true) et de les orienter vers des orientations différentes chacun de l’autre ainsi que les comparés deux à deux. public class Robot { final private String type;(0,25pt) final private int code; (0,25pt) static private int n=0; (0,25pt) private boolean etat=false; (0,25pt) private int orientation; (0,25pt) //constructeur public Robot (String type){ (0,5pt) this.type=type; code=++n; } //getteurs (0,25pt) public int getcode(){ return code; } public String gettype(){ return type; } public int getorientation(){(0,25pt) return orientation; } public boolean getetat(){(0,25pt) return etat; } //affiche public void affiche(){(0,5pt) System.out.println(code+" "+" "+gettype()+" "+ etat+" "+ orientation); } //on_off public void on_off(){ (0,25pt) etat=!etat; } public void tourner(int s){ (0,25pt) orientation=s; } public boolean equals(Robot r){ (01 pt) return ((this.etat==r.etat)&&(this.orientation==r.orientation)&&(this.type==r.type)); } }
  • 4. 4 public class TestRobot { (0,25pt) public static void main(String[] args) { Robot tab[]=new Robot[4]; (0,25pt) for(int i=0; i<tab.length;i++)(0,25pt) { tab[i]= new Robot("T"+i); (0,25pt) tab[i].tourner(i+1); (0,25pt) tab[i].affiche();(0,25pt) } System.out.println(tab[0].equals(tab[1])); (0,25pt) System.out.println(tab[2].equals(tab[3])); (0,25pt) } }