0% ont trouvé ce document utile (0 vote)
19 vues2 pages

Examen Java: Codes et Classes POO

Transféré par

iliass
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
19 vues2 pages

Examen Java: Codes et Classes POO

Transféré par

iliass
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ecole Nationale des Sciences Appliquées - Al Hoceima

Département Mathématiques et Informatique Durée 01h30


Examen de la Session Normale du Printemps – Juin 2023
Module : Programmation Orientée Objet en Java
Première Année Ingénierie des données

Les documents imprimés sont autorisés. Il est interdit d’échanger vos fournitures ou vos documents avec d’autres étudiants.
Exercice 1 : [ 4 points ]

1- Donner le résultat d’exécution de chacun des deux codes suivants:


CODE 1 CODE 2

class Test1 { class Test2 {


private static int c = 0; private static int c = 2;
private int b; public void test() throws Exception {
public static int test() { if (c < 4) {
c += 2; throw new Exception();
return (c); }
} c -= 2;
public int c(int pB) { }
b = b + pB; public void c() {
c = c + b; try {
return test(); test();
} } catch (Exception e) {
public static void main(String[] args) { c++;
int i = 0; }
int s = 0; }
Test1 t; public int getC() {
while (i < 3) { return c;
t = new Test1(); }
s+=t.c(i); public static void main(String[] args) {
i++; int i = 0;
} Test2 t = null;
[Link](s); while (i < 5) {
t = new Test2();
} t.c();
} [Link]([Link]());
i++;
}
}
}

Exercice 2 : [ 6 points ]

Soient les classes et interface suivantes définies dans le même package :


public abstract class AbstractNum { public class ANum extends AbstractNum implements InterfaceNum
public abstract int calculer(int n); {
} public int calculer(int n) {
return recalcule(n) + n;
}
public int recalcule(int n) {
return 2 * n;
public interface InterfaceNum { }
public int recalcule(int n); }
}

public class BNum extends ANum { public class CNum extends BNum implements InterfaceNum {
public int calculer(int n) { public int recalcule(int n) {
return recalcule(n) + n; return n--;
} }
} }

1/2
2- Si nous exécutons les instructions suivantes, quel sera le résultat ? [ 2 points ]
ANum a1 = new ANum();
BNum b1 = new BNum();
CNum c1 = new CNum();
[Link]([Link](1) + [Link](2) + [Link](3));
3- Si nous exécutons les instructions suivantes, quel sera le résultat ? [ 2 points ]
ANum a2 = new BNum();
AbstractNum b2 = new BNum();
AbstractNum c2 = new CNum();
InterfaceNum i = new BNum ();
[Link]([Link](1) + [Link](3) + [Link](4) + [Link](3));

4- Parmi les lignes suivantes, lesquelles ne se compileront pas? [ 2 points ]


AbstractNum t2 [] = {new BNum (), new CNum (), new AbstractNum ()}; // ligne 1
InterfaceNum t3 [] = {new BNum (), new CNum (), new ANum ()}; // ligne 2
InterfaceNum t4 [] = {new BNum (), new CNum (), new InterfaceNum ()}; // ligne 3
BNum t6 [] = {new ANum (), new BNum (), new CNum ()}; // ligne 4
Exercice 2 : [ 10 points ]
Un établissement universitaire est identifié par son nom et est composé de membres tels que les professeurs et les
étudiants. Toutefois, à l'avenir, d'autres types de personnes, tels que les cadres de l'administration, pourraient être
ajoutés. Chaque personne possède une adresse définie par le pays, la ville et le quartier. De plus, chaque personne est
caractérisée par son nom et son numéro de téléphone. Les étudiants possèdent également un numéro d'étudiant, tandis
que les professeurs ont un salaire et un nombre d'années de service. Un professeur peut superviser des étudiants. Une
conception des classes qui modélise cette situation a été déjà réalisée et elle est illustrée dans la figure 1 suivante :

Figure 1
1. Quel serait l’intérêt éventuel de la classe Personne dans cette conception ?
2. Implémenter toutes les classes du digramme de la figure 1 en respectant la conception proposée. Il faut prendre
en compte également les précisions suivantes:
- La méthode addEtudiant de la classe Prof permet d’ajouter un étudiant à la liste des étudiants supervisés
par le professeur.
- La méthode addPersonne de la classe Etablissement permet d’ajouter une personne dans la liste des
personnes appartenant à un établissement.
3. Ecrire un programme qui construit un objet Etablissement comportant un professeur nommé « El Karami » qui
supervise l’étudiant « El Hani » qui est lui aussi membre de cet établissement. Les autres données de ces deux
personnes sont données ci-dessous :
Nombre
Type Nom Téléphone Numéro Pays Ville quartier Salaire d’année
de service
Etudiant El Hani 060000000 1 Maroc Tanger Beni Makada
PROF El Karami 07000000 Maroc Rabat Agdal 13000 5

2/2

Vous aimerez peut-être aussi