Les extensions Extension
L’héritage permet d’étendre les possibilités d’une classe. Nous allons voir une autre façon d’ajouter des fonctionnalités à une classe à travers ce qu’on appelle les extensions.
1. Les limites de l’héritage
L’héritage est un concept formidable de la programmation orientée objet. C’est aussi un concept qui se prévoit.
En effet, si l’on souhaite permettre l’héritage d’une classe, il est nécessaire d’explicitement l’indiquer en utilisant le mot-clé open.
Un programme est rarement le fruit d’un seul développeur. Nous sommes rarement l’auteur de 100 % du code. Il est par exemple extrêmement commun de consommer des bibliothèques tierces dont le but est de faire gagner du temps en implémentant de la logique métier compliquée, une interaction via un protocole spécifique, etc.
Il existe des milliers de bibliothèques intégrables dans un projet. Certaines sont gratuites, d’autres non. Certaines sont open source, d’autres non. JetBrains propose par exemple Ktor, une bibliothèque open source, utilisable gratuitement, qui permet de faire des requêtes HTTP.
Il n’est pas rare de vouloir étendre les possibilités d’une bibliothèque que l’on utilise sans pour autant l’avoir développée. Imaginons qu’une bibliothèque...