Les piliers de la programmation Java

La programmation POO est un paradigme de programmation permettant de développer des applications logiciels simples, et maintenables dans le temps.

>
 -  Publié le
Les piliers de la programmation Java

Retrouvez les 4 pilliers de la POO en vidéo sur notre plateforme © Académie WS - academiews.fr

La programmation POO est un paradigme de programmation permettant de développer des applications logiciels simples, et maintenables dans le temps. Elle repose sur la création de classes et d’objets qui interagissent entre eux. Pour se faire elle repose sur 4 piliers que nous allons expliquer dès maintenant !

Encapsulation

Dans un premier temps nous retrouvons le principe d’encapsulation qui consiste à masquer les propriétés et méthodes de vos classes. Pour y accéder, vous devrez alors mettre en place des accesseurs et mutateurs communément appelés getter et setter pour savoir qui aura accès à ces propriétés et méthodes, et quelles sont les valeurs que l’on pourra y injecter.

Imaginez un logiciel réalisé en POO comme un télécommande. Souhaites-on nous réellement donner accès aux composants de la télécommande et aux circuits intégrés de celle-ci aux utilisateurs? Non ! Ce que l’on souhaite c’est simplement donner accès a des boutons permettant d’allumer la télé, changer de chaine ou encore modifier le volume.

Les différents échanges entre les différents composants à l’intérieur de la télécommande ne regardent pas l’utilisateur, et pour éviter de la casser, on a plutôt intérêt à ne pas lui donner accès à l’intérieur de celle-ci.

C’est exactement la même chose en programmation orienté objet. Tout ce qui fera partie du détail de l’implémentation du code, sera masqué à l’utilisateur pour éviter des modifications qui pourraient nuire à son bon fonctionnement.

On va donc se retrouver avec des propriétés et méthodes de classes plus ou moins accessibles selon leur importance dans le code. On parle alors d’access modifiers ou visibilité plus connus sous les termes public - private - protected.

Abstraction

Deuxième pilier de la programmation en JAVA, le principe d’abstraction. Les classes abstraites en Java sont des classes qui ne peuvent pas être instanciées et elles ont pour caractéristique de contenir une ou plusieurs méthodes abstraites. Une méthode abstraite est alors une méthode déclarée, mais qui n’a pas d’implémentation.

Toutefois, une classe abstraite nécessite des sous-classes qui fournissent des implémentations pour les méthodes abstraites. Effectivement, les sous-classes qui implémentant la classe mère dite abstraite devront alors implémenter et définir la logique des méthodes abstraites de la classe mère.

L’abstraction est alors très utile lors de la conception de systèmes complexes pour limiter la répétition du code et assurer une certaine cohérence.

Héritage

Cette notion d’abstraction est d’ailleurs liée au principe d’héritage qui en programmation orientée objet permet de créer facilement des classes similaires à partir d’une classe mère. On parle alors de faire hériter une classe fille d’une classe mère.

Prenons par exemple une classe Etudiant et Professeur. Ces deux classes bien que représentant des entités différentes possèdent des caractéristiques communes, comme le fait d’avoir un prénom, un nom, un âge ou encore un sexe. Ces objets pourraient même avoir des actions communes comme le fait d’aller à l’école tous les jours.

Pour éviter la répétition de ces propriétés et méthodes, on va donc pouvoir créer une classe mère appelée Humain, regroupant les caractéristiques et actions communes entre la classe Etudiant, et Professeur.

Les classes filles vont donc avoir les attributs et méthodes de la classe mère et pourront également avoir des attributs et des méthodes spécifiques pour chaque classe fille. L’étudiant pourra par exemple avoir une liste de devoir à effectuer et le professeur une liste de notes à rendre.

L’étudiant pourra effectuer un examen, et le professeur pourra corriger les examens. Ces actions étant spécifiques à chaque classe, elle pourront donc être définies respectivement dans chacune d’entre elles.

Polymorphisme

Mais que se passe-t-il si notre étudiant et notre professeur avaient une actions en commun, mais qui se caractérise de manière différente? Et bien c’est la qu’entre en jeu le principe de polymorphisme.

Le polymorphisme en JAVA c'est :

  • - le fait de redéfinir une ou des méthodes héritées d’une classe mère ( on parle alors d’overriding)
  • - et c’est aussi le fait de définir plusieurs fois la même méthode avec des arguments différents (on parle alors d’overloading)

Pourquoi? Et bien pour qu’une méthode d’une classe fille héritée d’une classe mère n’est pas le même comportement. On a pour cela qu’à redéfinir la méthode dans la classe fille. Plutôt pratique n’est-ce pas?

Mais alors c’est quoi une interface, ou le principe de finalisation en Java? Ou encore le couplage de classe? Pas de panique dans notre cours intitulé la programmation orientée Objet en Java, tout vous sera expliqué pas à pas, alors accrochez-vous :)

En savoir plus

Envie d'en savoir plus sur le sujet? retrouvez l'intégralité de la formation vidéo liée à la thématique 'Les piliers de la programmation Java' sur le site de l'Académie WS !

Commentaires :

Recevez par email toute l’actualité du digital

En cliquant sur "S'inscrire", vous acceptez les CGU ainsi que notre politique de confidentialité décrivant la finalité des traitements de vos données personnelles.

Abonnez-vous à la newsletter de la réponse numérique