Thread Klasse erweitern (9 answers)
Opened by roooot at 2009-08-07 11:21

sid burn
 2009-08-07 12:43
#123939 #123939
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Ein Beispiel, in Moose würde dein gewolltes so aussehen:

Code (perl): (dl )
1
2
3
4
5
6
package Foo::More;
use Moose::Role;

sub baz {
   ...
}


Code (perl): (dl )
1
2
3
package Foo;
use Moose;
with 'Foo::More';


Moose fügt aber noch mehr support hinzu. Mit "requires" kannst du sagen welche Methoden deine Klasse in der du etwas importierst implementiert haben musst. Mit exclude kannst du Rollen ausschliesen.

Objekte/Klassen haben möglichkeiten abzufragen welche Rollen sie konsumieren und du kannst beim importieren der Rolle die Funktionen z.B. ummappen.

Daher du kannst die Rolle "Foo::More" importieren und dann die Methode "baz" als "bar" in der neuen Klasse verfügbar machen.

Letzteres bietet dir aber auch z.B. "Sub::Exporter" an.
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Klasse erweitern