La programmation orientée objet (POO) est un paradigme de programmation qui utilise des « objets » et leurs interactions pour concevoir des applications et des logiciels. Dart, le langage de programmation derrière Flutter, est un langage orienté objet qui prend en charge des concepts tels que les classes, les objets, l'héritage et le polymorphisme. Dans cette section, nous explorerons le concept de polymorphisme dans Dart.

Polymorphisme

Le polymorphisme est un concept fondamental de la programmation orientée objet. Il permet de traiter des objets de types différents comme des objets d'un type commun. Le terme « polymorphisme » vient des mots grecs « polys », signifiant « plusieurs », et « morphē », signifiant « forme ». Par conséquent, le polymorphisme signifie la capacité de prendre de nombreuses formes.

Dans Dart, le polymorphisme est implémenté à l'aide de classes abstraites, d'interfaces et d'héritage. Une classe abstraite est une classe qui ne peut pas être instanciée directement. Au lieu de cela, elle est utilisée comme classe de base pour d’autres classes. Une interface, en revanche, est un contrat qui spécifie ce qu'une classe doit faire, mais pas comment elle doit le faire. Une classe qui implémente une interface doit fournir une implémentation pour toutes les méthodes définies dans l'interface.

Polymorphisme dans Dart

Dans Dart, nous pouvons avoir le polymorphisme sous deux formes : le polymorphisme au moment de la compilation et le polymorphisme au moment de l'exécution. Le polymorphisme au moment de la compilation, également appelé surcharge de méthodes, se produit lorsque vous disposez de deux méthodes ou plus portant le même nom mais des listes de paramètres différentes. Dart ne prend pas en charge la surcharge de méthodes. Nous n'avons donc que le polymorphisme d'exécution dans Dart.

Le polymorphisme d'exécution, également appelé substitution de méthode, se produit lorsqu'une classe enfant fournit une implémentation différente pour une méthode déjà fournie par sa classe parent. Dans Dart, nous utilisons le mot-clé « override » pour indiquer que nous remplaçons une méthode.

Exemple de polymorphisme dans Dart

Prenons un exemple simple où nous avons une classe abstraite 'Animal' avec une méthode 'eat'. Nous avons deux classes, "Dog" et "Cat", qui étendent la classe "Animal" et fournissent leurs propres implémentations pour la méthode "eat".

classe abstraite Animal { void manger(); } la classe Chien étend Animal { @passer outre vide manger() { print('Le chien mange'); } } la classe Chat étend Animal { @passer outre vide manger() { print('Le chat mange'); } }

Maintenant, nous pouvons créer des objets « Chien » et « Chat » et les traiter comme des « Animaux ». C'est du polymorphisme. Nous pouvons appeler la méthode 'eat' sur un objet 'Animal', et l'implémentation correcte de la méthode sera appelée en fonction du type réel de l'objet.

vide main() { Chien animal = Chien(); Chat animal = Chat(); chien.manger(); // affiche 'Le chien mange' chat.manger(); // affiche 'Le chat mange' }

En bref, le polymorphisme nous permet de traiter uniformément des objets de différents types. Cela augmente la flexibilité et la modularité de notre code, le rendant plus réutilisable et plus facile à maintenir.

Répondez maintenant à l’exercice sur le contenu :

Qu'est-ce que le polymorphisme dans la programmation orientée objet et comment est-il implémenté dans Dart ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Introduction à la programmation orientée objet dans Dart : interfaces

Page suivante de lebook gratuit :

63Introduction à la programmation orientée objet dans Dart : interfaces

2 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte