Rheinwerk Design < openbook > Rheinwerk Design - Know-how für Kreative.
Know-how für Kreative

 << zurück
ActionScript 1 und 2 von Sascha Wolter (http://www.saschawolter.de/)
Objektorientierung und Codedesign mit Flash MX 2004
Buch: ActionScript 1 und 2

ActionScript 1 und 2
672 S., mit CD, Referenzkarte, 44,90 Euro
Rheinwerk Design
ISBN 3-89842-221-6
gp Kapitel 16 ActionScript 2.0
  gp 16.1 Klassen
    gp 16.1.1 class
    gp 16.1.2 Technisch gesehen
    gp 16.1.3 Klassenpfade
    gp 16.1.4 ASO (ActionScript Objekt)
  gp 16.2 Packages
    gp 16.2.1 import
  gp 16.3 Typisierung
  gp 16.4 Vererbung
    gp 16.4.1 extends
  gp 16.5 Schnittstellen
    gp 16.5.1 Interfaces erstellen
    gp 16.5.2 Implements
  gp 16.6 Öffentlich oder privat
  gp 16.7 Statisch
    gp 16.7.1 static
    gp 16.7.2 Öffentlich oder privat
    gp 16.7.3 Statisch versus Singleton
  gp 16.8 Getter und Setter
    gp 16.8.1 addProperty
    gp 16.8.2 Getter und Setter in ActionScript 2.0
  gp 16.9 Dynamisch
    gp 16.9.1 dynamic
  gp 16.10 Intrinsic


Rheinwerk Design - Zum Seitenanfang

16.8 Getter und Setter  downtop

ActionScript 2.0\getter setter

Falls eine Eigenschaft mit Funktionalität gekoppelt sein soll, dann bieten sich Getter-/Setter-Methoden an. Diese Methoden stehen nach außen als Eigenschaften zur Verfügung, obwohl sich dahinter komplexe Methoden verbergen dürfen. Jedes Mal, wenn solch eine Eigenschaft verwendet wird, dann ruft Flash bei einem lesenden Zugriff den Getter auf, der den Wert der Eigenschaft als Ergebnis zurückliefert. Bei einem schreibenden Zugriff kommt der Setter zum Einsatz. Dieser erhält als Parameter den gewünschten Wert der Eigenschaft und kann damit beliebig verfahren.


Rheinwerk Design - Zum Seitenanfang

16.8.1 addProperty  downtop

In ActionScript 1 müssen Getter-/Setter-Methoden mit Hilfe der zur Object-Klasse gehörenden Methode addProperty erzeugt werden. Diese Methode steht für alle Objekte in Flash zur Verfügung, da grundsätzlich alle Klassen die Eigenschaften und Fähigkeiten der Object-Klasse erben. Doch der Einsatz dieser Methode gestaltet sich verglichen mit den neuen Möglichkeiten in ActionScritp 2.0 recht umständlich. Zuerst müssen Funktionen definiert und diese dann der Klasse mit addProperty im Prototypen hinzugefügt werden Die Methode addProperty erfordert als Parameter den Namen der Eigenschaft und eine Funktion zum Ermitteln (getter) sowie eine Funktion zum Setzen (setter) der Eigenschaft:

// ActionScript 1-Code!
function Frau() {
   this._alter = null;
}
Frau.prototype.setAlter = function(value) {
   this.alter = value;
};
Frau.prototype.getAlter = function(value) {
   trace("Der Zugriff auf das Alter ist verboten!");
   return null;
};
Frau.prototype.addProperty("alter", Frau.prototype.getAlter, Frau.prototype.setAlter);
//
eineFrau = new Frau();
eineFrau.alter = 27;
// Erzeugt eine Fehlermeldung
trace(eineFrau.alter);

Rheinwerk Design - Zum Seitenanfang

16.8.2 Getter und Setter in ActionScript 2.0  toptop

Das Anlegen von Getter- und Setter-Methoden gestaltet sich in ActionScript 2.0-Klassen deutlich einfacher als mit ActionScript 1.

Getter-Methode

Eine Getter-Methode definieren Sie, indem Sie eine Methode mit dem Namen der Eigenschaft erstellen und dieser das Schlüsselwort get voranstellen. Dabei muss eine Getter-Methode einen Wert zurückgeben und darf gleichzeitig keinen Wert erhalten:

function get eigenschaft():Typ {
   return _eigenschaft;
}
Setter-Methode

Eine Setter-Methode erstellen Sie auf die gleiche Art und Weise mit dem Unterschied, dass eine Setter-Methode keinen Wert zurückgeben darf, optional aber den Wert erhalten kann, der der zugehörigen Eigenschaft zugewiesen werden soll. Außerdem kommt das Schlüsselwort set anstelle von get zum Einsatz.

class Klasse {
   private var _eigenschaft;
   function set eigenschaft(wert:Typ) {
      _eigenschaft = wert;
   }
   function get eigenschaft():Typ {
      return _eigenschaft;
   }
}

Anschließend nutzen Sie die Getter-/Setter-Methoden wie normale Eigenschaften:

objekt = new Klasse();
objekt.eigenschaft = objekt.eigenschaft + 123;

Die folgende Klasse erlaubt beispielsweise nur das Setzen, aber nicht das Auslesen des Alters einer Frau:

class Frau {
   private var _alter:Number;
   function get alter():Number {
      trace("Der Zugriff auf das Alter ist verboten!");
      return null;
   }
   function set(wert:Number) {
      _alter = wert;
   }
}

Die Verwendung dieser Getter-/Setter-Methoden als Eigenschaft unterscheidet sich nicht von der Variante in ActionScript 1:

eineFrau = new Frau();
eineFrau.alter = 27;
// Erzeugt eine Fehlermeldung
trace(eineFrau.alter);
 << zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: ActionScript 1 und 2
ActionScript 1 und 2
bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: JavaScript






 JavaScript


Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Rheinwerk-Shop: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern