Licence d'informatique
Programmation objet et Java

Questionnaire n°2


Question 1. L'héritage multiple, c'est

(a) la possibilité, pour une classe, d'hériter de plusieurs classes,
(b) la possibilité d'avoir plusieurs classes qui héritent d'une même classe.


Question 2. On considère le morceau de code suivant:

int i = 2;
if (i = 2)
  System.out.println("oui");
else
  System.out.println("non");
(a) le texte "oui" est affiché
(b) le texte "non" est affiché
(c) il y a erreur à la compilation
(d) compilation correcte, mais erreur à l'exécution


Question 3. Dans la définition d'une classe, un attribut

(a) doit être déclaré private s'il est d'un type primitif, et public si son type est une classe
(b) doit toujours être déclaré public
(c) doit toujours être déclaré private,
(d) rien de tout ça.


Question 4. L'encapsulation est

(a)  contraire à la loi
(b)  une classe Java
(c)  une technique de programmation
(d)  rien de tout ça.


Question 5. Une méthode déclarée static peut toujours être appelée en utilisant juste le nom de la méthode, sans la notation avec point.

(a) vrai
(b) faux


Question 6. Quels sont les affirmations fausses parmi les suivantes:

(a) une méthode peut avoir 0 paramètres ou plus;
(b) le type d'un argument dans l'appel d'une méthode doit toujours être exactement le même que le type du paramètre de sa définition;
(c) l'intitulé d'une méthode doit spécifier un type pour chaque paramètre;
(d) seules les méthodes qui retournent une valeur peuvent avoir des paramètres.


Question 7. Une classe Exemple contient une méthode d'objet  void doAction(), appelée à l'intérieur  d'une autre méthode par: doAction();. Soit exemple un objet de la classe Exemple. Parmi les  instructions suivantes, lesquelles peuvent toujours remplacer l'appel ci-dessus:

(a)  exemple.doAction();
(b) Exemple.doAction();
(c)  this.doAction();
(d)  aucune


Question 8. La construction this. peut être utilisée

(a)  comme préfixe d'un appel de méthode
(b)  comme préfixe d'un appel de méthode statique
(c)  comme préfixe dans l'utilisation d'un attribut
(d)  comme préfixe dans l'utilisation d'un attribut statique
(e)  comme préfix dans l'emploi d'une variable locale à une méthode


Question 9. On considère les en-tête de méthodes suivantes:

(1) int methode(int a, char b)
(2) void methode()
(3) int methode(int a)
(4) int methode(char b, int a)
(5) int methode(int b, char a)
(6) void methode(int a, char b)
(7) int methode(int a, char b, float c)

Quelles combinaisons de méthodes peuvent être définies simultanément dans une même classe ?

(a) Toutes,
(b) 1, 2, 3, 4
(c) 2, 3, 5, 6, 7
(d) toutes sauf 5,
(e) toutes sauf 5 et 6
(f) rien de tout ça.


Question 10. On considère la classe suivante:

class Exemple {
  private String s = "abc";
  public int première() {
    return 5;
  }
  public static void seconde() {
    String nom;
    Exemple exemple = new Exemple();
    ???
  }
}

Quelles instructions, parmi les suivantes, peuvent apparaître dans le corps de la seconde méthode?

(a)  nom = exemple.s;
(b)  nom = s;
(c)  exemple.première();
(d)  première();