Questions marquées «traits»

En programmation informatique, un trait est un ensemble de méthodes, utilisé comme "modèle conceptuel simple pour structurer des programmes orientés objet"




13
Traits vs interfaces
J'ai essayé d'étudier PHP récemment, et je me retrouve accroché à des traits. Je comprends le concept de réutilisation horizontale du code et je ne veux pas nécessairement hériter d'une classe abstraite. Ce que je ne comprends pas, c'est: quelle est la différence cruciale entre l'utilisation de traits et d'interfaces? …
344 php  interface  traits 

5
Qu'est-ce qu'un trait scellé?
Les classes scellées sont décrites dans «Programmation en Scala», mais pas les traits scellés. Où puis-je trouver plus d'informations sur un trait scellé? J'aimerais savoir si un trait scellé est identique à une classe scellée? Ou, sinon, quelles sont les différences? Quand est-ce une bonne idée d'utiliser un trait scellé …
332 scala  sealed  traits 




4
Est-il possible de déterminer le type de paramètre et le type de retour d'un lambda?
Étant donné un lambda, est-il possible de déterminer son type de paramètre et son type de retour? Si oui, comment? Fondamentalement, je veux lambda_traitsce qui peut être utilisé des manières suivantes: auto lambda = [](int i) { return long(i*10); }; lambda_traits<decltype(lambda)>::param_type i; //i should be int lambda_traits<decltype(lambda)>::return_type l; //l should …

1
Méthodes par défaut de Java 8 en tant que traits
Est-ce une pratique sûre d'utiliser des méthodes par défaut comme une version pauvre des traits dans Java 8? Certains prétendent que cela peut rendre les pandas tristes si vous les utilisez juste pour le plaisir, parce que c'est cool, mais ce n'est pas mon intention. Il est également souvent rappelé …

3
Quand utiliser val ou def dans les traits Scala?
J'étais en train de parcourir les diapositives scala efficaces et il est mentionné sur la diapositive 10 de ne jamais utiliser valdans un traitpour les membres abstraits et de l'utiliser à la defplace. La diapositive ne mentionne pas en détail pourquoi l'utilisation de résumé valdans a traitest un anti-motif. J'apprécierais …

2
Pourquoi «std :: mem :: drop» n'est-il pas exactement le même que la fermeture | _ | () dans les limites de traits de rang supérieur?
L'implémentation de std::mem::dropest documentée comme suit: pub fn drop<T>(_x: T) { } En tant que tel, je m'attendrais à ce que la fermeture |_| ()(familièrement connue sous le nom de fermeture des toilettes ) soit un remplacement potentiel de 1: 1 dropdans les deux sens. Cependant, le code ci-dessous montre …


2
Pourquoi une méthode renvoyant Unit peut-elle être remplacée par une méthode renvoyant String alors que les types de retour ne sont pas explicitement indiqués?
Je travaillais sur les exemples de code du chapitre Traits in Programming in Scala Edition1 https://www.artima.com/pins1ed/traits.html et est tombé sur un comportement étrange à cause de ma faute de frappe. Bien que la méthode de remplacement d'un trait sous l'extrait de code ne donne aucune erreur de compilation, bien que …
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.