Y a-t-il des constructeurs nommés dans Scala?Constructeurs nommés dans Scala?
Répondre
Cela dépend ce que vous entendez par « constructeurs nommés », mais oui, vous pouvez surcharger les constructeurs voir Overload constructor for Scala's Case Classes?
vous pouvez également mettre les méthodes d'usine dans un Companion objets pour votre classe (singleton).
Je ne pense pas qu'il existe mais l'idiome du constructeur nommé peut être pris en charge par des méthodes d'objet appelant des constructeurs de classe. En règle générale dans Scala l'appliquent méthode est utilisée comme il peut utiliser la syntaxe d'appel de fonction:
val mc = MyClass(a, b, c)
avec la définition suivante
object MyClass {def apply(a: Atype, b: Btype, c: Ctype) = new MyClass(a, b, c)}
ou si vous voulez quelque chose comme
val mc = MyClass.create(a, b, c)
il serait simplement
object MyClass {def create(a: Atype, b: Btype, c: Ctype) = new MyClass(a, b, c)}
Vous n'êtes pas limité à l'objet compagnon, mais les constructeurs privés et protégés vous demanderont d'utiliser l'objet compagnon directement ou en tant que proxy pour accéder au (x) constructeur (s) de classe,
- 1. Scala: les constructeurs cari
- 2. Deux ensembles de paramètres constructeurs dans une classe scala
- 3. Est-il possible d'hériter des constructeurs auxiliaires dans Scala?
- 4. Scala 2.8 - Problème potentiel avec des arguments nommés
- 5. Est-il possible de surcharger les constructeurs en scala?
- 6. constructeurs
- 7. Canaux nommés dans c
- 8. Paramètres nommés dans JDBC
- 9. pipes nommés dans Java
- 10. Impossible de définir des valeurs par défaut si je définis plusieurs constructeurs surchargés dans Scala?
- 11. Constructeurs moqueurs dans Ruby
- 12. Arguments nommés facultatifs dans Mathematica
- 13. Paramètres nommés/facultatifs dans Delphi?
- 14. Surcharge des constructeurs dans F #
- 15. Constructeurs de surcharge dans VBScript
- 16. Constructeurs dans les classes abstraites?
- 17. constructeurs Hériter
- 18. Constructeurs VB.NET
- 19. Constructeurs Unity
- 20. Constructeurs JavaScript
- 21. constructeurs php
- 22. Pourquoi les identifiants de liste et de chaîne sont-ils nommés "xs" (dans Scala et dans d'autres langues)?
- 23. Iterator & Exceptions nommés
- 24. Qt IPC - Canaux nommés
- 25. Modules nommés aléatoirement
- 26. Chargement des données dans les constructeurs et non dans les constructeurs
- 27. Sémaphores nommés en Python?
- 28. Placement de nouveaux constructeurs et de constructeurs par défaut
- 29. remplace nommés dans les chaînes avec Mako
- 30. Mots-clés nommés dans les décorateurs?
Diminué en raison de l'ambiguïté de la question. –