Java
Question de cours 1 : appel de méthodes
• • • objet.nomDeMethode() Classe.nomDeMethode() : seulement si la méthode est statique nomDeMethode() qui correspond à this.nomDeMethode() où à super.nomDeMethode(). Ce type d'appel ne peut se faire que dans la classe ellemême ou dans une sous-classe.
Question de cours 2 : vocabulaire des langages orientés objets
Ne pas confondre le vocabulaire langage orientés objets et java. Objet, Classe, Attribut, Constructeur, Destructeur, Méthode, Héritage, Polymorphisme Instanciation, Encapsulation, Agrégation
Exercice 1 : Modélisation d'un dessin
Le lien d'agrégation est un plus dans une modélisation mais la déclaration des attributs pour faire le lien entre les classes reste la plus importante. A noter qu'ici, je donne une correction basée sur une interface que vous n'aviez pas vu à l'époque en TP. Dans le cadre de l'examen, un héritage était suffisant. De plus la méthode dessiner n'était pas nécessaire. Forme + dessiner ( )
Dessin - formes : Forme[]
Carré + dessiner()
Cercle + dessiner()
Exercice 2 : Modélisation d'un échiquier
Echiquier - echiquier : Piece[8][8]
Pièce - couleur : String + déplacement()
Pion + déplacement()
Cavalier
Fou
Tour + déplacement()
Roi + déplacement()
Reine + déplacement()
+ déplacement() + déplacement()
Exercice 3 : Modélisation du monde animal
Ici la correction peut être discutée, mais je notais en fait la construction générale sans tenir compte réellement dans l'implication des classes et la mise en place de l'héritage. La solution proposée ici n'est pas LA solution à rendre mais une proposition.
Biomasse
Mollusque Reptile Gastéropode Bivalve Céphalopode Homme Huitre Ver Tétrapode Amphibien Baleine Oiseau Mammifère
Insecte
Arthropode
VerNageur
Araignée
Mille-Pattes
Saumon