This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
2019_2020:s3:concprogobjet:td:tdreutilisation [2019/11/08 17:31] blay [Rendu] |
2019_2020:s3:concprogobjet:td:tdreutilisation [2019/11/13 11:08] (current) blay [Réutilisation par composition et héritage] |
||
---|---|---|---|
Line 18: | Line 18: | ||
- | <box round rgb(135,206,250) rgb(0,191,255) 75%|**Votre défi** > | + | <box round rgb(224,255,255) rgb(0,191,255) 75%|**Votre défi** > |
Faire passer les tests sans les modifier si ce n'est la référence à la classe "//SocialNetwork//" qui implémente //SocialNetworkInterface// et en développant un code propre. | Faire passer les tests sans les modifier si ce n'est la référence à la classe "//SocialNetwork//" qui implémente //SocialNetworkInterface// et en développant un code propre. | ||
Voici les archives : //((Tips : Prenez chaque archive, déposer la sous Eclipse, dezipper, refresh))// | Voici les archives : //((Tips : Prenez chaque archive, déposer la sous Eclipse, dezipper, refresh))// | ||
- | - les {{:2018_2019:s3:concprogobjet:td:archivegraphes.zip|classes de manipulation des graphes}} : | + | - les classes de manipulation des graphes: |
- | - les classes du package grapheX, vous en avez besoin pour l'exécution, mais vous n'avez pas besoin de les comprendre. | + | - les classes du package {{:2019_2020:s3:concprogobjet:td:graphex.zip|grapheX,}} vous en avez besoin pour l'exécution, mais vous n'avez pas besoin de les comprendre. |
- | - les classes du package grapheSimple vous allez en avoir besoin. Regardez bien **ces classes** et construisez rapidement le modèle de classes correspondant, par exemple avec ObjectAid), | + | - les classes du package {{:2019_2020:s3:concprogobjet:td:graphesimple.zip|grapheSimple}} vous allez en avoir besoin. Regardez bien **ces classes** et construisez rapidement le modèle de classes correspondant, par exemple avec ObjectAid), |
- | - les {{:2018_2019:s3:concprogobjet:td:archivetests.zip|classes de tests}} : celle sur les graphes pour vérifier et celle contenant les tests à faire passer. (pensez à la mettre dans un source folder dédié aux tests (ou sous test si vous êtes sous maven); Fixez le setup en ajoutant JUnit 5; exécutez les tests) | + | - les classes définissant le réseau {{:2019_2020:s3:concprogobjet:td:facebookghost.zip|Facebookghost}} |
- | - {{:2018_2019:s3:concprogobjet:td:facebookghost.zip|les classes définissant le réseau Facebookghost}} | + | - les {{:2019_2020:s3:concprogobjet:td:corers.zip|interfaces à implémenter}} pour faire passer les tests |
- | - {{:2018_2019:s3:concprogobjet:td:archivereseausocial.zip|les interfaces à implémenter pour faire passer les tests,}} | + | - les classes de tests : |
+ | - celle sur les graphes pour vérifier dans l'archive ''graphesimple'' | ||
+ | - {{:2019_2020:s3:concprogobjet:td:testsyourcode.zip|celles contenant les tests à faire passer.}} | ||
+ | - Fixez le setup en ajoutant JUnit 5; exécutez les tests | ||
- | ===> Pour ceux qui ont déjà chargé des codes, voici les codes de {{:2018_2019:s3:concprogobjet:td:graphesimple.zip|ParcoursSimple}} corrigés et dans l'archive de tests les codes ont été corrigés en conséquence. | ||
- | |||
- | |||
LOL**Vous n'avez que deux interfaces à implémenter : ''SocialNetworkInterface'' et ''MemberInterface''. | LOL**Vous n'avez que deux interfaces à implémenter : ''SocialNetworkInterface'' et ''MemberInterface''. | ||
Ce qui suit est là pour vous aider.** }} | Ce qui suit est là pour vous aider.** }} | ||
</box> | </box> | ||
- | La figure suivante visualise les interfaces et classes fournies pour les tests. | ||
- | |||
- | {{ :2016_2017:s3:concprogobjet:td:capture_d_e_cran_2016-10-16_a_22.07.17.png?direct&300 |}} | ||
- | |||
- | {{ :2016_2017:s3:concprogobjet:td:capture_d_e_cran_2016-10-16_a_22.42.15.png?direct&300 |}} | ||
===== Réutilisation par composition et héritage ===== | ===== Réutilisation par composition et héritage ===== | ||
Line 56: | Line 51: | ||
- Vous devez construire un réseau social dont les spécifications sont les suivantes (cf. Interfaces //SocialNetworkInterface// et //MemberInterface//): | - Vous devez construire un réseau social dont les spécifications sont les suivantes (cf. Interfaces //SocialNetworkInterface// et //MemberInterface//): | ||
* un réseau social est un ensemble de membres qui sont en relation; | * un réseau social est un ensemble de membres qui sont en relation; | ||
- | * un membre a un nom, une localisation (String) et une introduction (String); | + | * un membre a un nom, une localisation (String) <del>et une introduction (String)</del>; |
* Un membre //a// est en relation avec membre //b// avec une force entre Faible (LOW) et Très forte (STRONG). Plus la relation est forte plus on considère que la distance est courte. La classe //Strength// qui représente cette force vous est donnée. | * Un membre //a// est en relation avec membre //b// avec une force entre Faible (LOW) et Très forte (STRONG). Plus la relation est forte plus on considère que la distance est courte. La classe //Strength// qui représente cette force vous est donnée. | ||
* //a// peut se considérer en relation avec //b// à la force STRONG et //b// ne pas se considérer en relation avec //a//! | * //a// peut se considérer en relation avec //b// à la force STRONG et //b// ne pas se considérer en relation avec //a//! |