java:coo
Ceci est une ancienne révision du document !
Table des matières
Bases de la conception Objet
Les piliers de la POO
La POO s'appuie sur quatre piliers essentiels:
- l'abstraction: un modèle est une abstraction de la réalité, une classe est donc un modèle (la classe Chaise ,'est pas une chaise, mais un modèle de chaise). Cette abstraction peut être plus ou moins forte (déclaration d'un comportement attendu via une interface en java, classe abstraite, classe concrète). voir le sujet sur les modèles.
- le polymorphisme: capacité à présenter plusieurs forme, concerne les méthode mais également les substitutions. Il y a quatre principales manières d'utiliser le polymorphisme:
- deux avec les méthodes exclusivement: la redéfinition (polymorphisme d'héritage) et la surcharge (polymorphisme paramétrique), lire https://web.maths.unsw.edu.au/~lafaye/CCM/poo/polymorp.htm;
- une plus générale avec le polymorphisme ad-hoc: adaptation d'un opérateur en fonction des types (le + entre deux entiers produit une addition des entiers, mais une concaténation entre deux chaînes de caractères), utilisation d'un nom de méthode identique pour une opération sémantiquement équivalente dans des classes différentes sans parenté ni lien fort conceptuellement;
- l'encapsulation: offrir la possibilité à un programme de n'exposer qu'une partie du code qu'il utilise en masquant le fonctionnement interne d'un objet. Une première manière simple de garantir l'encapsulation est de restreindre la visibilité des attributs en les déclarant private et en utilisant des contrôles d'accès lorsque cela est nécessaire via les mutateurs (setters) et les accesseurs (getters); plus généralement, l'encapsulation ne se limite à la simple utilisation du mot-clef private, mais concerne tout ce qui contribue à masquer les fonctionnement interne et protéger les attributs de mutations par des tiers (par exemple, en clonant une référence dans un accesseur, ou en ne donnant pas les types concrets mais des super-types plus abstraits).
Pour conclure, gardez à l'esprit que ces piliers sont des outils: ce n'est pas parce qu'ils sont de bonne qualité et permette de faire des choses formidables que pour autant, vous avez la garantie de produire un programme de qualité. Ils ont besoin d'être manipulés correctement et à bon escient.
La section suivante explique comment mettre en œuvre une conception de qualité en se basant intelligemment sur ces quatre piliers.
Principes et bonnes pratiques de conception
Les principes SOLID ou SOIRS
.
java/coo.1587716964.txt.gz · Dernière modification : 2020/04/24 08:29 de bruno