Response to Previous Exam Question

1/2
100%

| | | | |

| --- | --- | --- | --- |

| | | | --- | | | | | | Une réponse par rapport à une question reçue par mail concernant l'ancien examen: Question : La class Personne je ne suis pas obligé d'implémenter ? car pas indiqué ? Réponse : tu dois la faire et c'est justifié de plusieurs manières - tu perds en ce qui concerne la qualité de la conception - tu auras des membres redondants entre les classes (attributs au moins) - tu ne pourras pas stocker les personnes dans la meme collection dans la classe equipe. - dans ta classe equipe tu auras plusieurs collections pour chaque type de personne et donc tu auras à changer ta conception et le code si on rajoute un autre type de personnes dans une future version. Concernant cet ancien examen en particulier : - oublier la classe personne est plus grave qu'oublier les classes sportif ou personnelMedical car elle sert comme ancêtre commun pour les joueurs, kinés, médecins et entraîneurs. En plus elle doit être abstraite on ne devrait pas avoir des objets de type personne. ---> rappel de quelques remarques générales déjà discutée en classe :  - Il faut lire tout l'énoncé. Les numéros des questions est pour éviter qu'ils oublient des choses. - ne pas négliger le chapitre collections avec tous ses détails car pas de projet sans collections - ne pas oublier que les sets n'utilisent pas d'indexes (positions) ni pour le parcours ni pour la recherche.  - les passages en java sont par reference. donc lorsqu'on passe une référence à une méthode, l'objet est partagé entre le code appelant et la méthode et s'il change d'état (valeurs d'attributs) c'est visible de partout. - le problème de l'examen peut ne pas être résolu à 100%. càd, on peut ne pas demander l'implémentation du main ou de quelques méthodes ou classes pour respecter le temps alloué. donc ne faites pas ce qui n'est pas demandé explicitement. - ce que vous devez faire meme si ce n'est pas demandé explicitement c'est : la factorisation du code, l'héritage, le polymorphisme, les interfaces, tout ce qui est abstrait, les constructeurs, les accesseurs/mutaters si demandés, final, etc..... Donc les bonnes pratiques. - vaut mieux réfléchir avec un diagramme de classe sur brouillon avant de commencer la rédaction du code. - il faut bien écrire (lisibilité, alinéa, etc....) bonne chance, | |

Remarque :

En java, tu ne peux pas choisir de passer tes paramètres par référence ou par valeur.

La règle est la suivante :

Publicité

  • ton paramètre est un objet, alors il est passé par référence
  • ton paramètre est un type primitif, alors il est passé par valeur (par copie)

Response to Previous Exam Question

Programming, Java, Object-Oriented Design · exam

Browse all programmation documents

| | | | |

| --- | --- | --- | --- |

| | | | --- | | | | | | Une réponse par rapport à une question reçue par mail concernant l'ancien examen: Question : La class Personne je ne suis pas obligé d'implémenter ? car pas indiqué ? Réponse : tu dois la faire et c'est justifié de plusieurs manières - tu perds en ce qui concerne la qualité de la conception - tu auras des membres redondants entre les classes (attributs au moins) - tu ne pourras pas stocker les personnes dans la meme collection dans la classe equipe. - dans ta classe equipe tu auras plusieurs collections pour chaque type de personne et donc tu auras à changer ta conception et le code si on rajoute un autre type de personnes dans une future version. Concernant cet ancien examen en particulier : - oublier la classe personne est plus grave qu'oublier les classes sportif ou personnelMedical car elle sert comme ancêtre commun pour les joueurs, kinés, médecins et entraîneurs. En plus elle doit être abstraite on ne devrait pas avoir des objets de type personne. ---> rappel de quelques remarques générales déjà discutée en classe :  - Il faut lire tout l'énoncé. Les numéros des questions est pour éviter qu'ils oublient des choses. - ne pas négliger le chapitre collections avec tous ses détails car pas de projet sans collections - ne pas oublier que les sets n'utilisent pas d'indexes (positions) ni pour le parcours ni pour la recherche.  - les passages en java sont par reference. donc lorsqu'on passe une référence à une méthode, l'objet est partagé entre le code appelant et la méthode et s'il change d'état (valeurs d'attributs) c'est visible de partout. - le problème de l'examen peut ne pas être résolu à 100%. càd, on peut ne pas demander l'implémentation du main ou de quelques méthodes ou classes pour respecter le temps alloué. donc ne faites pas ce qui n'est pas demandé explicitement. - ce que vous devez faire meme si ce n'est pas demandé explicitement c'est : la factorisation du code, l'héritage, le polymorphisme, les interfaces, tout ce qui est abstrait, les constructeurs, les accesseurs/mutaters si demandés, final, etc..... Donc les bonnes pratiques. - vaut mieux réfléchir avec un diagramme de classe sur brouillon avant de commencer la rédaction du code. - il faut bien écrire (lisibilité, alinéa, etc....) bonne chance, | |

Remarque :

En java, tu ne peux pas choisir de passer tes paramètres par référence ou par valeur.

La règle est la suivante :

Advertisement

  • ton paramètre est un objet, alors il est passé par référence
  • ton paramètre est un type primitif, alors il est passé par valeur (par copie)