Als «traits» getaggte Fragen

In der Computerprogrammierung ist ein Merkmal eine Sammlung von Methoden, die als "einfaches konzeptionelles Modell zur Strukturierung objektorientierter Programme" verwendet werden.




13
Eigenschaften vs. Schnittstellen
Ich habe in letzter Zeit versucht, mich mit PHP zu beschäftigen, und bin dabei, mich auf Eigenschaften einzulassen. Ich verstehe das Konzept der Wiederverwendung von horizontalem Code und möchte nicht unbedingt von einer abstrakten Klasse erben. Was ich nicht verstehe ist: Was ist der entscheidende Unterschied zwischen der Verwendung von …
344 php  interface  traits 

5
Was ist ein versiegeltes Merkmal?
Versiegelte Klassen werden in 'Programmieren in Scala' beschrieben, versiegelte Merkmale jedoch nicht. Wo finde ich weitere Informationen zu einem versiegelten Merkmal? Ich würde gerne wissen, ob ein versiegeltes Merkmal mit einer versiegelten Klasse identisch ist. Oder wenn nicht, was sind die Unterschiede? Wann ist es eine gute Idee, ein versiegeltes …
332 scala  sealed  traits 



5
Eigenschaften in PHP - Beispiele / Best Practices aus der Praxis? [geschlossen]
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …
148 php  traits 

4
Ist es möglich, den Parametertyp und den Rückgabetyp eines Lambda herauszufinden?
Ist es bei einem Lambda möglich, den Parametertyp und den Rückgabetyp herauszufinden? Wenn ja, wie? Grundsätzlich möchte ich, lambda_traitswelche auf folgende Arten verwendet werden kann: 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 be long Die Motivation dahinter ist, …

1
Java 8 Standardmethoden als Merkmale: sicher?
Ist es eine sichere Praxis, Standardmethoden als Version von Merkmalen für Arme in Java 8 zu verwenden? Einige behaupten, es könnte Pandas traurig machen, wenn man sie nur deswegen benutzt, weil es cool ist, aber das ist nicht meine Absicht. Es wird auch oft daran erinnert, dass Standardmethoden eingeführt wurden, …

3
Wann sollte val oder def in Scala-Merkmalen verwendet werden?
Ich habe die effektiven Scala-Folien durchgesehen und auf Folie 10 wird erwähnt, dass sie niemals valin einem traitfür abstrakte Mitglieder verwendet werden sollen und defstattdessen verwendet werden sollen. In der Folie wird nicht im Detail erwähnt, warum die Verwendung von Abstract valin a traitein Anti-Pattern ist. Ich würde es begrüßen, …

4
Warum kann PHP Trait keine Schnittstellen implementieren?
Ich frage mich, warum PHP Trait (PHP 5.4) keine Schnittstellen implementieren kann. Für ein Update von der Antwort von user1460043 => ... kann keine Klasse erforderlich sein, die es zum Implementieren einer bestimmten Schnittstelle verwendet Ich verstehe, dass es offensichtlich sein könnte, weil die Leute denken könnten, wenn a Class …
81 php  oop  interface  traits 


2
Verweise auf Merkmale in Strukturen
Ich habe eine Eigenschaft Foo pub trait Foo { fn do_something(&self) -> f64; } und eine Struktur, die auf dieses Merkmal verweist pub struct Bar { foo: Foo, } Beim Versuch zu kompilieren bekomme ich error: reference to trait `Foo` where a type is expected; try `Box<Foo>` or `&Foo` Ändern …
72 rust  traits 

2
Warum ist `std :: mem :: drop` nicht genau dasselbe wie der Abschluss | _ | () in höherrangigen Merkmalsgrenzen?
Die Implementierung von std::mem::dropist wie folgt dokumentiert: pub fn drop<T>(_x: T) { } Als solches würde ich erwarten, dass der Verschluss |_| ()(umgangssprachlich als Toilettenverschluss bezeichnet ) ein potenzieller 1: 1-Ersatz für dropbeide Richtungen ist. Der folgende Code zeigt jedoch, dass er dropnicht mit einem höherrangigen Merkmal kompatibel ist , …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.