Klasse :: Mitglied :: Hash

Klasse :: Mitglied :: Hash ist ein Perl-Modul, um die Modulentwicklung einfacher zu gestalten.
Jetzt downloaden

Klasse :: Mitglied :: Hash Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Torsten Fortsch
  • Website des Verlags:
  • http://search.cpan.org/~cmungall/

Klasse :: Mitglied :: Hash Stichworte


Klasse :: Mitglied :: Hash Beschreibung

Klasse :: Mitglied :: Hash ist ein Perl-Modul, um die Modulentwicklung einfacher zu gestalten. Klasse :: Mitglied :: Hash ist ein Perl-Modul, um die Modulentwicklung einfacher zu gestalten.Synopsis-Paket myModule; Verwenden Sie Klasse :: Mitglied :: Hash QW / Member_A Member_B -Class_Members /; oder paket mymodule; Verwenden Sie Klasse :: Mitglied :: Glob QW / Member_A Member_B -Class_Members /; oder paket mymodule; Verwenden Sie Klasse: Mitglied QW / Member_A member_b -class_members /; oder paket mymodule; Klasse: Member :: Dynamic QW / Member_A Member_B -Class_Members /; Perl-Klasseninstanzen sind hauptsächlich gesegnet Hashes oder Globs und speichert Mitgliedervariablen entweder als "$ self -> {MemberName}" oder "$ {* $ self} {MemberName }" bzw. Dies ist sehr auffällig, wenn Sie anfangen, abgeleitete Klassen auf der Grundlage solcher Module zu entwickeln. Der Entwickler der abgeleiteten Klasse muss die Mitgliedsvariablen der Basisklasse ansehen, um Namenskonflikte zu vermeiden. Um zu vermeiden, dass "Klasse :: Mitglied :: xxx" Mitgliedervariablen in einem eigenen Namespace speichert, eignet sich der Paketname auf den variablen Namen, z. Paket My :: New :: Modul; Verwenden Sie Klasse :: Mitglied :: Hash QW / Member_A Mitgliedb /; Wird "Member_A" als "$ self -> {'my :: neu :: module :: member_a'}". Um den Zugriff auf diese Mitglieder zu erleichtern, wird der Zugriffsfunktionen in den Anrufer-Namespace exportiert. Um auf "Member_A" zugreifen, rufen Sie einfach an. $ selbst-> member_a; # Read Access $ self-> member_a ($ new_value); # Schreibzugriff $ self-> member_a = $ new_value; # Schreibzugriff (als lvalue verwendet) "Klasse :: Mitglied :: Hash" und "Klasse :: Mitglied :: GLOB" werden verwendet, wenn Ihre Objekte Hash- oder Glob-Referenzen sind. Aber manchmal wissen Sie nicht, ob Ihre Instanzen Globs oder Hashes sind (die Entwicklung abgeleiteter Klassen, in der die Basisklasse wahrscheinlich geändert wird.). In diesem Fall verwenden Sie "Klasse :: Member" und die Methoden werden zur Kompilierzeit definiert, um jede Art von Objekten, Globs und Hashes zu behandeln. Der erste Zugriff auf eine Methode definiert jedoch nach dem tatsächlichen Objekttyp neu. Der erste Zugriff dauert also etwas länger, aber alle nachfolgenden Anrufe werden auf derselben Geschwindigkeit wie "Klasse :: Mitglied :: GLOB" oder "Klasse :: Mitglied :: Hash" ausgeführt. "Klasse :: Mitglied :: dynamisch" wird verwendet, wenn Ihre Objekte gleichzeitig Globs und Hashes sein können. Der tatsächliche Typ wird bei jedem Zugriff ermittelt und die entsprechende Aktion ergriffen. Neben den Mitgliedsnamen gibt es (inzwischen) eine Option, die angegeben werden kann: "-Class_Members". Es lässt die Funktion "Import ()" ein Array namens @CLASS_MEMBERS im Namespace des Anrufers erstellen, das die Namen aller definierter Methoden enthält. So können Sie einen Kontraktor erstellen, der mit genannten Parametern erwartet, in denen jeder Name einem Klassenmitglied entspricht: Verwenden Sie Klasse :: Mitglied QW / Member_A member_b -class_members /; unsere @ class_members; sub neuer {mein $ Eltern = Schicht; my $ class = ref ($ parent) || $ Parent; my $ I = bless {} => $-Klasse; my% o = @ _; if (ref ($ parent)) {# inherit ersten my $ m foreach (@CLASS_MEMBERS) {$ I -> $ m = $ parent -> $ m; }} # Dann mit benannten Parametern foreach my $ m (@CLASS_MEMBERS) {$ I außer Kraft setzen -> $ m = $ o {$ m} if ($ o existiert {$ m}); } Return $ I; } Anforderungen: · Perl.


Klasse :: Mitglied :: Hash Zugehörige Software