Ein Trace ist ein Begriff der Objektorientierten Programmierung und Beschreibung einer Wirederverwendungssammlung von Methoden und Attributen , eine Klasse . Die Idee der Eigenschaften der programmatischen Selbstverbesserung und Entwicklung in modernen Objektorientierungen.
Die Verwendung von Traits ist die horizontale wederverwendende einer Methodensammlung. Bei dem Grundsatz der Mehrfachvererbung , das eine objektorientierte Programmiersprachen, ist der gleiche Ansatz möglich; Sie und alle anderen Traits (die Mixins sind ) sind Diamond-Probleme , die dieselben sind wie diejenigen, die gerade dabei sind, das Problem zu reformieren.
Features als spezielle Variante von Mixins
Im Gegensatz zu Einem mixin Sind Traits bei der Einbindung in anderen Klassen sehr viel flexi eingerichtet. Schweißen stellt also nur eine Methode dar. Sie können auch die anderen Methoden verwenden. Auch can Mehrere Traits in Eine Klasse inkludiert Werden, sich Wobei Namenskonflikte mit Hilfe von Alias lassen pilot, um sterben verwendung gleichbenannter Methoden zu garantieren Gelegenheit. Ein Trait kann auch hier verwendet werden, was bedeutet, dass Teil der inkludierenden Klasse definiert ist. Gegenueber ein Mixin bietet ein Trait to the the comfort, the college attribute to definitive . [1]
Beispiele
PHP
In der Programmiersprache wurden PHP- Fähigkeiten nach Version 5.4 verwendet: [2]
Funktion Hallo { öffentliche Funktion sayHello () { echo 'Hallo' ; } } Trait Welt { public Funktion sayWorld () { echo 'Welt' ; } } class HelloWorld { benutze Hallo , Welt ; Öffentliche Funktion sayExclamationMark () { echo '!' ; } } $ ObjHelloWorld = neue Hello World ; $ objHelloWorld -> sayHello (); $ objHelloWorld -> sayWorld (); $ objHelloWorld -> sayExclamationMark ();
Das obige Beispiel gibt „Hallo Welt!“ Aus.
Programmierung Sprachen, die Traits unterstützen
- curl
- Festung [3]
- Groovy (ab Release 2.3)
- Haxe (mit der Zusatzbibliothek „Gelassenheit“) [4]
- JavaScript Delegation – Funktionen als Rolle (Traits und Mixins)
- Kotlin
- Perl 5 ( Rollen , durch das Modul Moose) [5]
- Perl 6 (auch Rolle gehört) [6]
- Pharo Smalltalk
- PHP ab Version 5.4
- Python (z. B. durch das Modul Eigenschaften [7] )
- Ruhe [8]
- Scala
- selbst
Weblinks
- Eigenschaften: zusammensetzbare Einheiten des Verhaltens Auswahl von Artikel über Traits (englisch)
Einzelstunden
- Hochsprung↑ kingcrunch.de: PHP5.4: Traits aka „Horizontaler Riese“
- Hochspringen↑ Einführung in Traits auf php.net
- Hochspringen↑ Merkmale in der Festung (engl., PDF-Datei; 2,5 MB)
- Hochspringen↑ Einführung von Gelassenheit für Haxe (mit Dependency Injection)
- Hochspringen↑ Elch :: Rollen Dokumentation
- Hochspringen↑ Perl 6: Rollen und Eigenschaften
- Hochspringen↑ PyPI: Merkmale 4.4.0
- Hochspringen↑ Rost Referenzhandbuch: Merkmale