Etapes
1. Comment définir une classe simple pour représenter un objet Donut
Débutons par la définition d’une classe simple qui représentera un objet Donut avec les propriétés name et productCode. Cet exemple est une révision du tutoriel précédent sur Comment créer des classes et des objets en Scala.
Similairement au tutoriel précédent, ayons également une fonction print() qui imprimera le nom et le productCode pour un objet donut donné. Si vous n’êtes pas familier avec la création de fonctions en Scala, vous pouvez vous référer aux tutoriels sur les fonctions.
2. Comment déclarer un objet compagnon pour la classe Donut
Un objet compagnon est défini en utilisant le mot clé object et le nom de l’objet doit être identique au nom de la classe.
En outre, l’objet compagnon doit définir une méthode apply() qui sera responsable de l’instanciation d’une instance de la classe donnée.
Puisque la classe Donut de l’étape 1 nécessite les propriétés name et productCode, nous fournissons également des paramètres d’entrée similaires à la méthode apply() comme indiqué ci-dessous.
3. Comment créer des instances de la classe Donut en utilisant l’objet compagnon
Avec l’objet compagnon défini à l’étape 2 ci-dessus, vous pouvez maintenant créer des instances de la classe Donut sans avoir à utiliser le nouveau mot-clé.
NOTE:
- Certes, vous pourriez argumenter que l’objet compagnon n’ajoute pas vraiment de valeur spéciale autre que de ne pas avoir à utiliser le nouveau mot-clé.
- Cependant, dans le prochain tutoriel, je vous montrerai comment la méthode apply() de l’objet compagnon peut être utilisée comme une fabrique pour votre classe.
4. Comment appeler la fonction print pour chacun des objets donut
Puis, appelons la fonction print() depuis nos objets donut comme indiqué ci-dessous.
println("\nStep 4: How to call function on each Donut object")glazedDonut.printvanillaDonut.print
Vous devriez voir la sortie suivante lorsque vous exécutez votre application Scala dans IntelliJ:
Step 4: How to call the print function for each of the Donut objectDonut name = Glazed Donut, productCode = 1111Donut name = Vanilla Donut, productCode = 2222
.