You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

2.3 KiB

***** PARTIE C++ *****

Etape 1 : OK

Etape 2 : OK

Etape 3 : OK

Etape 4 :

--- Comment appelle-t'on ce type de méthode et comment faut-il les déclarer ?
--> Ce type de méthode est une méthode abstraite, il faut la déclarer en
--> rajoutant const = 0 dans le header

Etape 5 :

--- Quelle est la propriété caractéristique de l'orienté objet qui permet de faire cela ?
--> C'est le polymorphisme

--- Qu'est-il spécifiquement nécessaire de faire dans le cas du C++ ?
--> il faut déclarer les méthodes "virtual"

--- Quel est le type des éléments du tableau : est-ce que ce tableau contient
--- les objets ou des pointeurs vers ces objets ?
---> Ce tableau contient des pointeurs vers ces objets

Etape 6 :

--- Que faut-il faire pour que l'objet Film ait plein contrôle sur ses données
--- et que son tableau de durées des chapitres ne puisse pas être modifié (ou pire, détruit) à son insu ?
--> Il faut recopier le tableau passé en paramètre

--- Quelle est la solution très simple que propose C/C++ pour éviter ce problème ?
--> Il suffit de déclarer la méthode const *

Etape 7 :

--- Parmi les classes précédemment écrites quelles sont celles qu'il faut modifier
--- afin qu'il n'y ait pas de fuite mémoire quand on détruit leurs instances ?
--> Il faut modifier la classe Film car elle possède un attribut dont le type
--> n'est pas un type de base

--- Pourquoi et que faudrait-il faire ?
--> La copie d'objets peut poser problème car ce serait une copie superficielle,
--> Les attributs qui sont des pointeurs pointeraient vers le meme objet.
--> Il faut alors redéfinir l'opérateur = et le constructeur de copie

Etape 8 :

--- On rappelle aussi que la liste d'objets doit en fait être une liste de pointeurs d'objets. Pourquoi ?
--> Si on veut qu'un objet puisse apartenir à plusieurs groupes, il faut que chaque
--> groupe contienne des pointeurs vers les objets, pour ne pas dupliquer les objets
--> En java, il n'y a pas de pointeurs explicite, tout est fait implicitement

Etape 9 : OK

Etape 10 :

--- Comment peut-on l'interdire, afin que seule la classe servant à manipuler les objets puisse en créer de nouveaux ?
--> On peut rendre le constructeur private et mettre en amie la classe Gestion

Etape 11 : OK

Etape 12 : non traitée

Etape 13 : non traitée

***** PARTIE JAVASWING *****

Utilisation des AbstractAction