Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
anleitung:programmieren:perl:klassen [02.08.2013 10:57] – [Ableiten] J. Huberanleitung:programmieren:perl:klassen [13.11.2014 14:25] (aktuell) – [Perl Klassen und Objekte] J. Huber
Zeile 1: Zeile 1:
 +<hidden Artikel Info>
 +
 +---- dataentry ArtikelInfo ----
 +Name : Perl Klassen und Objekte #
 +Beschreibung : Implementierung #
 +Bereich_tagmain : anleitung #
 +Kategorien_taganleitungs : programmieren #
 +Version_dt : 2013-11-01 #
 +----
 +</hidden>
 +
 ====== Perl Klassen und Objekte ====== ====== Perl Klassen und Objekte ======
  
Zeile 39: Zeile 50:
 Objekteigenschaften werden in der Objektreferenz gespeichert. Siehe auch oben im Konstruktor (''sub new''). Objekteigenschaften werden in der Objektreferenz gespeichert. Siehe auch oben im Konstruktor (''sub new'').
  
 +Statische Eigenschaften werden wie folgt umgesetzt:
 <code perl> <code perl>
 package MyClass; package MyClass;
      
-  my $statischeEigenschaft;+  my $statischeEigenschaft; # private 
 + 
 +  our $statischeEigenschaft2;
      
   ...   ...
      
 1; 1;
 +</code>
 +
 +==== Zugriff auf Eigenschaften ====
 +
 +<code perl>
 +sub methode
 +{
 +   my $self = shift;
 +
 +   my $var1 = $myClass::statischeEigenschaft; # Zugriff auf statische Eigenschaft
 +
 +   my $var2 = $self->{"myEigenschaft"}; # Zugriff auf Objekt-Eigenschaft
 +}
 </code> </code>
  
Zeile 113: Zeile 140:
  
       # entspricht den früher benutzten Ausdruck:       # entspricht den früher benutzten Ausdruck:
-      require|use MySuperClass; +      use MySuperClass; # anstatt use kann auch 'require' verwendet werden 
-      push @ISA, qw( MySuperClass [, ...] );+      push @MyClass::ISA, qw( MySuperClass [, ...] );
  
       ...       ...
Zeile 135: Zeile 162:
 </code> </code>
  
 +==== Klassen Methoden aufrufen ====
 +
 +Methoden können über ein Object in der Form 
 +<code perl> 
 +$obj->methode(); 
 +</code> 
 +aufgerufen werden.
 +
 +Klassenmethoden, die **NICHT** überladen sind können **NICHT** mit 
 +<code perl> 
 +MyClass::methode(); 
 +</code> 
 +aufgerufen werden. 
 +Dazu muss in der abgeleiteten Klasse die Methode nochmals definiert werden, die dann die ursprünliche Methode aufruft. z.B.:
 +<code perl> 
 +sub methode {
 +   return ParentClass::methode(); 
 +}
 +</code> 
 +
 +
 +==== Klassen Eigenschaften aufrufen ====
  
 +siehe Kapitel [[anleitung:programmieren:perl:klassen#Zugriff auf Eigenschaften|Zugriff auf Eigenschaften]]
 ---- struct data ---- ---- struct data ----
 +artikelinfo.name     : 
 +artikelinfo.beschreibung : 
 +artikelinfo.status   : 
 +artikelinfo.statuslink : 
 +artikelinfo.version 
 +artikelinfo.cats     : 
 +artikelinfo.catlinks : 
 +artikelinfo.prg      : 
 ---- ----