Trait (Programmierung)

Trait (Programmierung)

Ein Trait ist ein Begriff aus der objektorientierten Programmierung und beschreibt eine wiederverwendbare Sammlung von Methoden und Attributen, ähnlich einer Klasse. Die Idee der Traits entspringen der Programmiersprache Self und finden mittlerweile in vielen modernen, objektorientierten Sprachen Verwendung.

Inhaltsverzeichnis


Die Verwendung von Traits erlaubt das horizontale Wiederverwenden einer Methodensammlung. Bei dem Prinzip der Mehrfachvererbung, das einige objektorientierte Programmiersprachen anbieten, ist das gleiche Vorgehen möglich; jedoch umgehen Traits (so wie als auch Mixins) das Diamond-Problem, eine speziell durch die Mehrfachvererbung hervorgerufene Beziehungsproblematik unter verschiedenen Klassen.

Traits als besondere Variante der Mixins

Im Gegensatz zu einem Mixin sind Traits bei der Einbindung in andere Klassen sehr viel flexibler. So lassen sich einzelne Methoden eines Traits ausschließen oder durch eine andere ersetzen. Auch können mehrere Traits in eine Klasse inkludiert werden, wobei sich Namenskonflikte mit Hilfe von Aliasen lösen lassen, um die Verwendung gleichbenannter Methoden zu garantieren. Ein Trait kann dabei auch Methoden benutzen, die nur Teil der inkludierenden Klasse sind und nicht im Trait selbst definiert wurden. Gegenüber eines Mixins bietet ein Trait zudem die Möglichkeit, auch Klassenattribute zu definieren.[1]

Beispiele

PHP

In der Programmiersprache PHP können Traits ab der Version 5.4 benutzt werden[2]:

trait Hello {
    public function sayHello() {
        echo 'Hello ';
    }
}
 
trait World {
    public function sayWorld() {
        echo 'World';
    }
}
 
class MyHelloWorld {
 
    use Hello, World; 
    public function sayExclamationMark() {
        echo '!';
    }
}
 
$o = new MyHelloWorld();
$o->sayHello();
$o->sayWorld();
$o->sayExclamationMark();

Das obige Beispiel gibt "Hello World!" aus.

Programmiersprachen, die Traits unterstützen

Einzelnachweise

  1. kingcrunch.de: PHP5.4: Traits aka “Horizontal Reuse”
  2. Einführung in Traits auf php.net
  3. Traits in C++
  4. Traits in Fortress (engl., PDF-Format)
  5. traitsjs.org - Traits für JavaScript
  6. Perl 6: roles und traits

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Trait — steht für: Trait (Fluss), ein Fluss in Frankreich, Nebenfluss des Aron Trait (Programmierung), eine besondere Variante eines Mixins, welche z.B. in der Programmiersprache Scala genutzt werden kann in der Psychologie die Persönlichkeitseigenschaft …   Deutsch Wikipedia

  • Mix-In — Als Mixin wird in der objektorientierten Programmierung ein zusammengehöriges, mehrfach verwendbares Bündel von Funktionalität bezeichnet, das zu einer Klasse hinzugefügt werden kann. Von manchen Programmiersprachen werden Mixins direkt… …   Deutsch Wikipedia

  • Mixin-Klasse — Als Mixin wird in der objektorientierten Programmierung ein zusammengehöriges, mehrfach verwendbares Bündel von Funktionalität bezeichnet, das zu einer Klasse hinzugefügt werden kann. Von manchen Programmiersprachen werden Mixins direkt… …   Deutsch Wikipedia

  • Mixin — Als Mixin wird in der objektorientierten Programmierung ein zusammengehöriges, mehrfach verwendbares Bündel von Funktionalität bezeichnet, das zu einer Klasse hinzugefügt werden kann. Von manchen Programmiersprachen werden Mixins direkt… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”