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.

71 lines
2.3 KiB

1 year ago
***** 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