Traits scala

Traits scala
L'utilisation d'interfaces est une fonctionnalité très importante de la programmation orientée objet. Scala est un langage tellement polyvalent qu'il vous permet d'obtenir les mêmes fonctionnalités en utilisant des traits. Par conséquent, ce guide sera dédié à l'utilisation de traits dans le langage de programmation Scala dans Ubuntu 20.04.

Quel est le but des traits dans le langage de programmation Scala?

Nous avons déjà mentionné que les traits de Scala servent le même but que les interfaces en Java. Cela signifie que vous êtes autorisé à créer une interface générique à l'aide de traits Scala, et vos classes seront autorisées à étendre ce trait en implémentant les méthodes souhaitées. De plus, une chose intéressante à propos des traits Scala est que vous êtes libre d'utiliser à la fois les méthodes abstraites et non abstraites dans un trait. Cependant, si vous utilisez une méthode non abstraite dans un trait, vous n'aurez pas besoin de fournir sa mise en œuvre au sein de la classe qui étendra ce trait.

Utilisation des traits à Scala:

Pour faire bon usage des traits à Scala dans Ubuntu 20.04, vous devrez lire les trois exemples suivants:

Exemple n ° 1: Utilisation de traits avec seulement des méthodes abstraites dans Scala:

Dans le langage de programmation Scala, nous pouvons avoir à la fois les méthodes abstraites et non abstraites dans un trait. Cependant, dans cet exemple, nous aurons juste des méthodes abstraites dans notre trait défini et voir comment les traits fonctionnent dans le langage de programmation Scala. Vous devez jeter un œil au code ci-dessous pour comprendre ceci:

Nous avons d'abord défini un trait nommé «catégorie» dans ce code scala. Dans ce trait, nous avons déclaré deux méthodes abstraites à l'aide du mot-clé «DEF» avec les noms «Employee» et «Employee_age». Par conséquent, comme ce sont des méthodes abstraites, nous les implémenterons dans la classe qui étendra ce trait. Ensuite, nous avons conçu une classe nommée «Employee» et avons utilisé le mot-clé «Extend» pour étendre le trait créé ci-dessus à partir de cette classe. Après cela, nous avons d'abord mis en œuvre les méthodes abstraites de notre trait au sein de cette classe. Ensuite, nous avons créé une autre méthode nommée «Employee_Name» dans cette classe.

Enfin, nous avons utilisé le mot-clé «objet» pour créer notre classe de pilote nommé «Trait». Au sein de cette classe, nous avons notre fonction «Main ()» dans laquelle nous avons créé une nouvelle instance de notre classe «employée» nommée «EMP». Ensuite, nous avons successivement appelé toutes les fonctions de cette classe (celles définies au sein de la classe et aussi celles étendues du trait) en utilisant l'instance de cette classe.

Ce script Scala peut être compilé en utilisant la commande ci-dessous:

$ trait scalac.Scala

Après une compilation réussie, ce script peut être exécuté avec la commande suivante:

$ trait scala

Vous pouvez être témoin de la sortie ci-dessous que nous avons mis en œuvre avec succès une classe qui s'étend à partir d'un trait Scala et que sa sortie s'est avérée être exactement comme prévu.

Exemple n ° 2: Utilisation de traits avec les méthodes abstraites et non abstraites de Scala:

Dans cet exemple, nous utiliserons à la fois les méthodes abstraites et non abstraites à Scala. Cela signifie que nous implémenterons certaines méthodes dans le trait et implémenterons les autres au sein de la classe qui prolongera ce trait. De cette façon, nous voulons déterminer quel impact cela laisse-t-il sur notre sortie. Par conséquent, nous utiliserons le même exemple que nous avons mis en œuvre ci-dessus comme référence avec de légères modifications. Le programme exact Scala est le suivant:

La différence entre nos premier et deuxième exemples est que dans celui-ci, nous avons mis en œuvre la méthode «employee_age ()» dans notre trait. Par conséquent, c'est devenu une méthode non abstraite. D'un autre côté, nous avons mis en œuvre la méthode «Employee ()» de notre classe qui a étendu notre trait. En d'autres termes, nous n'avons défini que la signature de cette fonction dans notre trait qui en a fait une fonction abstraite. Le reste du code est le même que notre premier exemple.

Maintenant, pour voir si cette modification a laissé un impact sur notre sortie ou non, nous avons compilé et exécuté ce script. Vous pouvez jeter un œil à la sortie illustrée ci-dessous et confirmer que cette sortie est la même que notre premier exemple. Cela implique que peu importe que vous utilisiez les méthodes abstraites ou non abstraites dans les traits Scala, votre sortie restera la même.

Exemple # 3: en utilisant plusieurs traits dans Scala:

Une classe Scala peut également étendre plusieurs traits à la fois. L'exemple suivant décrit ceci:

Encore une fois, nous avons utilisé le même exemple qu'une ligne de base. La seule différence entre nos deuxième et troisième exemples est que dans celui-ci, nous avons créé un autre trait nommé «Qualification» et avons mis en œuvre une méthode non abstraite dans ce trait. Ensuite, tout en étendant notre classe à partir de ces traits, nous avons utilisé le mot-clé «Extend» avec le premier trait et avons utilisé le mot-clé «avec» entre les noms des deux traits. De même, si vous avez plus de deux traits pour étendre votre classe, vous séparerez les noms de tous les traits en utilisant le mot-clé «avec». Dans notre fonction «main ()», nous avons également appelé la fonction du nouveau trait que nous avons créé dans cet exemple.

L'image ci-dessous présente la sortie de ce script scala, qui confirme qu'une classe peut étendre plusieurs traits simultanément.

Conclusion:

Avec l'aide de ce tutoriel, nous voulions vous donner un bref aperçu du fonctionnement des traits à Scala dans Ubuntu 20.04. Pour cela, nous avons d'abord partagé avec vous l'objectif principal de l'utilisation des traits de Scala en mettant en évidence leur ressemblance étroite avec les interfaces en Java. Ensuite, nous avons expliqué comment ces traits peuvent être utilisés avec les méthodes abstraites et non abstraites. Enfin, nous avons discuté de trois exemples qui ont utilisé efficacement les traits scala. Nous avons essayé de garder ces exemples extrêmement faciles et simples afin que vous puissiez rapidement saisir la notion d'utilisation des traits scala.