Skip to content

Actionscript 3 Namespaces

2007 November 18
by Sven Busse

Juten Tach,

herrlich, wenn’s im Hirn irgendwann ‘plopp’ macht. Heute hab’ ich endlich den Sinn von Namespaces in Actionscript 3 verstanden (also nicht die von XML, das war mir vorher schon klar).

Auslöser war dieses schöne kleine Beispiel aus den Adobe livedocs:

class A {
   private namespace Key;
   private var friends = [ B ];
   function beMyFriend( suitor ):Namespace {
      for each( friend in friends ) {
         if( suitor is friend ) return Key;
      }
      return null;
   }
   Key function makeMyDay() {
      trace("making my day");
   }
}

class B {
   function befriendAnA(a:A):void {
      var key : Namespace = a.beMyFriend(this);
      if( key != null ) {
         a.key::makeMyDay();
      }
   }
}

var b:B = new B();
b.befriendAnA(new A());

Der Schlüssel hier ist die Funktion ‘beMyFriend’ in Klasse A und die Tatsache, dass der Namespace ‘Key’ private ist. ‘beMyFriend’ liefert einen Namespace zurück, nachdem sie eine Überprüfung gemacht hat. Das hatte ich bis dato nicht gewusst, dass man einen Namespace als simple Referenz durch die Gegend reichen kann.

Jetzt macht das alles schon sehr viel mehr Sinn. Man soll halt doch einfach mal die Hilfe lesen.

Share this:
  • email
  • Twitter
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Posterous
  • Digg
  • Technorati
  • Slashdot
  • Suggest to Techmeme via Twitter
  • StumbleUpon
  • Reddit
  • Netvibes
  • LinkedIn
  • Mixx
No comments yet

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS