Exercices sur la programmation orientée des objets 7 - examen, Examens de Application informatique
Christophe
Christophe3 mars 2014

Exercices sur la programmation orientée des objets 7 - examen, Examens de Application informatique

PDF (125 KB)
3 pages
397Numéro de visites
Description
Exercices d’informatique sur la programmation orientée des objets 7 - examen. Les principaux thèmes abordés sont les suivants: exercices.
20 points
Points de téléchargement necessaire pour télécharger
ce document
Télécharger le document
Aperçu3 pages / 3
Télécharger le document

ENSEIRB 2e année filières Télécommunication 2007-2008

Exan1en de Programmation Orientée Objet

14 janvier 2008

Durée: 2hOO ; deux feuilles A4 manuscrites autorisées.

La notation tiendra compte de la présentation, du vocabulaire employé et de la qualité. Les exemples de code doivent être fournis en langage Java et accompagnés d'explication.

Ex.I:

Le fichier source Okami . java distribué contient la défintion de trois classes. La compilation et l'exécution ne provoque aucune erreur.

1. Dans quelle classe sont définies les méthodes: getClass (), getNarne ().

2. Pour chaque méthode utilisée dans ce code, préciser s'il s'agit d'une méthode de classe ou d'une méthode d'instance.

:3. Donner une raison à la notion de méthode de classe.

4. Que va afficher l'exécution de dessiner (new Shiranui ()) ;. Comparer avec l'exécution de message (new Amaterasu ()) ;.

5. Expliquer l~ mécanisme mise en oeuvre pour avoir ces résult ats.

6. Réécrire le code de la méthode main. dans le cas où le mot-clef static est retiré du pl'Ototype de la mét hode dess iner () .

Ex. II:

Vous devez construire une classe Pile correspondant à la structure standard :'LIFO". Le stockage des éléments utilise la classe Vecteur (correspondant à un vecteur dynamique). Le code de cette classe vous est fourni mais ne doit pas être modifié (il correspond à celui distribué en cours). L'utilisation de la classe Vecteur peut se faire soit par un lien "est-un", soit par un lien "a-un".

Description de la pile: Une structure "LIFO", pour "Last In First Out" signifie que le premier élément dépilé ("first out") est le dernier qui avait été em­ pilé ("last in"). Une pile est une structure de données qui contient un ensemble d'objets du même type, sur laquelle est définie trois opérations principales:

- estVide : indique que la pile ne contient plus d'objets; - empiler: place un objet au "sommet" de la pile; - depiler: le dernier objet empilé (le sommet) est enlevé de la pile et renvoyé.

De plus la réalisation respecte les points suivants: - Si l'état de l'instance de Pile est vide. la méthode dépiler léve l'exception

non-contl'Ollée java .lang. IllegalStateException.

- 1 ­

ENSErRB 28 année filières Télécommunication 2007-2008

~ La taille de la pile n'est pas fixe mais dynamique. La variation de la taille est donnée par une variable entière nommé incrernentTaille (sa valeur par défaut est fixée à 10). Cet incrément est partagé par toutes les instances de la classe. Evidemment, il doit être possible de modifier la valeur de cette variahle à tout moment. ~ <;b.~)L \)\~

~ Le SOlllmet de la pile correspond à l'indice du demier élément stocké dans le vecteur.

~ La classe ne contient qu'un constructeur sans paramètre qui initialise une pile à l'état vide et un vecteur de taille fixée par la valeur de la variable incrernentTaille.

1. Comment respecter le Principe de masquage d'information?

2. Ecrire le prototype complet des méthodes.

3. Expliquer comment s'écrit la levée de l'exception dans le corps de la méthode depiler.

Ex. III :

Écrire la classe Pile en utilisant un lien "est-un" avec la classe Vecteur. À l'aide de votre code décrire les points suivants:

1. le lien "est-un" ;

2. l'écriture du constructeur;

3. l'écriture du corps des méthodes.

Ex. IV:

Écrire la classe Pile en utilisant un lien "a-un" avec la classe Vecteur. À l'aide Je votre code décrire les points suivants:

1. le lien "a-un" :

2. l'écriture du constructeur:

3. l'écriture du corps des méthodes.

Ex. V:

Quel lien est-il préférable de choisir pour la réalisation de la classe Pile. Justifier votre réponse.

Ex. VI:

Ivlontrer comment l'utilisation des types paramétrés permet d'assurer que le , conteneur Pile est homogène (contient un ensemble d'objets du même type). "­/

- 2 ­

Jan 14200809:13 Okami.java Page 1

public class Okami ( static void dessiner(Amaterasu v) {

System.out.println("Instancedelaciasse" + v.getClass() .getName()); v. encre () i v .pinceau () ;

static public void main(String[) argv) ( dessiner-(new Shiranui());

class Amaterasu ( static void encre() {

System. out .println ("encreO definie dans Amaterasu") ;

void pinceau() { System. out. println ( "pinceauO definie dans Amaterasu" ) i

class Shiranui extends Amaterasu { static void encre() {

System. out. print ln ("encreO definie dans Shiranui" ) ;

void pinceau() { System. out _println ( "pinceauO definie dans Shiranui" ) ;

Printed by Georges Eyralles tram hamilcar

Nov 29 2006 10:01 Vecteur.java pagiiJ

liA partir de la classe java.util.Vector

public class Vecteur ( private Object[] donnees;

public Vecteur(int initTaille) { donnees ~ new Object[initTaillel;

public int tailler) ( return donnees.lengthi

public void mettre {int indice, Object element) { donnees[indice] = element;

public Object donner{int indice) return donnees[indice];

public int nbElernent() ( int nb = 0; for tint i = 0; i < donnees.length; i++)

if (donnees[i] '= null) nb++;

return nb;

public void assurerLaTaille(int minTaille) int ancienTaille = donnees.length;

if (minTaille > ancienTaille) { Object[] ancienDonnees = donnees; donnees = new Object[minTaille]; System. arraycopy (ancienDonnees, a, donnees, 0, ancienTaille);

Okami.java

1

commentaires (0)

Aucun commentaire n'a été pas fait

Écrire ton premier commentaire

Télécharger le document