Notion de traits appliqués aux structures

1. Introduction

La notion de trait pourrait se définir ainsi : c’est une sorte de collections de méthodes qui s’applique à self et donc à un type a priori inconnu. Exprimé ainsi, cela semble assez flou ; si vous avez fait du C# ou du JavaScript, ce n’est ni plus ni moins que la notion d’interface. Même s’il y a quelques nuances, cela peut évoquer la notion de classe abstraite en C++.

La notion fait l’objet d’un chapitre ultérieur : en effet, il est possible en Rust de définir ses propres traits, ce qui constitue un autre des nombreux avantages du langage.

Nous évoquons la notion ici, car c’est l’occasion de l’introduire d’une part, et pour aborder les traits prédéfinis dans le langage, appliqués aux structures.

2. Les traits prédéfinis appliqués aux structures Trait:prédéfini

Nous n’aborderons ici que les traits prédéfinis, c’est-à-dire les traits dont l’implémentation est déjà fournie : le compilateur se débrouille pour associer une implémentation par défaut pour les traits attendus.

On précise les traits attendus ainsi. Ici, on voudrait avoir le trait Clone qui permet de cloner une instance :

#[derive(Clone)] 

Les traits prédéfinis sont au nombre de quatre en Rust :

  • Copy Copy

  • Clone Clone

  • Debug Debug

  • PartialEq...

Pour consulter la suite, découvrez le livre suivant :
couv_EIRUST.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
La question des références dans une structure
Suivant
Conclusion