Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Trait (Programmierung) – Wikipedia
Trait (Programmierung) – Wikipedia
aus Wikipedia, der freien Enzyklopädie

Ein Trait (Deutsch: Eigenschaft, Charakteristik) ist ein Begriff aus der objektorientierten Programmierung und beschreibt eine wiederverwendbare Sammlung von Methoden und Attributen, ähnlich einer Klasse. Die Idee der Traits entspringt der Programmiersprache Self und findet mittlerweile in vielen modernen objektorientierten Sprachen Verwendung.

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 auch Mixins) das Diamond-Problem, eine speziell durch die Mehrfachvererbung hervorgerufene Beziehungsproblematik unter verschiedenen Klassen.

Traits als besondere Variante der Mixins

[Bearbeiten | Quelltext bearbeiten]

Traits sind bei der Einbindung in andere Klassen viel flexibler als Mixins:[1]

  • einzelne Methoden eines Traits lassen sich ausschließen oder durch eine andere ersetzen
  • mehrere Traits können in eine Klasse inkludiert werden, wobei sich Namenskonflikte (d. h. gleichbenannte Methoden) mit Hilfe von Aliasen lösen lassen.
  • ein Trait kann Methoden benutzen, die nicht in ihm selbst definiert wurden, sondern in der inkludierenden Klasse.
  • ein Trait bietet die Möglichkeit, auch Klassenattribute zu definieren.

Beispiele

[Bearbeiten | Quelltext bearbeiten]

PHP

[Bearbeiten | Quelltext bearbeiten]

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 HelloWorld
{
    use Hello, World;

    public function sayExclamationMark()
    {
        echo '!';
    }
}

$objHelloWorld = new HelloWorld;

$objHelloWorld->sayHello();

$objHelloWorld->sayWorld();

$objHelloWorld->sayExclamationMark();

Das obige Beispiel gibt „Hello World!“ aus.

Programmiersprachen, die Traits unterstützen

[Bearbeiten | Quelltext bearbeiten]
  • Curl
  • Fortress[3]
  • Groovy (ab Release 2.3)
  • Haxe (mit der Zusatzbibliothek Composure möglich)[4]
  • JavaScript Delegation – Funktionsobjekte als Rollen (Traits und Mixins)
  • Kotlin
  • Perl 5 (roles, durch das Modul Moose)[5]
  • Pharo Smalltalk
  • PHP ab Version 5.4
  • Python (z. B. durch das Modul Traits[6])
  • Raku (auch dort roles genannt)[7]
  • Rust[8]
  • Scala
  • Self

Weblinks

[Bearbeiten | Quelltext bearbeiten]
  • Traits: Composable Units of Behavior Auswahl von Artikeln über Traits (englisch)

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ kingcrunch.de: PHP5.4: Traits aka „Horizontal Reuse“
  2. ↑ Einführung in Traits auf php.net
  3. ↑ Traits in Fortress (englisch, PDF-Datei; 2,5 MB)
  4. ↑ Introducing Composure for Haxe (with Dependency Injection)
  5. ↑ Moose::Role Dokumentation
  6. ↑ PyPI: traits 4.4.0
  7. ↑ Perl 6: roles und traits (Memento des Originals vom 21. September 2011 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/chris.prather.org
  8. ↑ Rust Reference Manual: Traits
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Trait_(Programmierung)&oldid=236831700“
Kategorien:
  • Programmierung
  • Objektorientierte Programmierung
  • PHP
Versteckte Kategorie:
  • Wikipedia:Defekte Weblinks/Ungeprüfte Archivlinks 2019-05

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id