[ascoders] Re: OOP Frage

  • From: Manuel.Dahm@xxxxxxxxxxx (Manuel Dahm)
  • To: <ascoders@xxxxxxxxxxxxx>
  • Date: Tue, 12 Nov 2002 21:18:33 +0100

Aloha,

prototype kannst Du benutzen um bestehende Klassen (Object, Movieclip, Array 
...) um Methoden ( ~ klasseneigene Funktionen ) zu erweitern, oder um eigenen 
Klassen Methoden zu geben.
Der Nachteil wenn man jeden MC eine ähnliche Funktion gibt, die man eventuell 
auch einfach durch Übergabe von Parametern lösen könnte ist erstens die Eleganz 
und Konsistenz als auch der Speicherbedarf.

BSP für Klasse und prototype:

function Class(id){ // Klassenkonstruktor
this.id = id
}
Class.prototype.ident = function(){ //Klassenmethode
trace(this.id);
}
test = new Class("aloha"); // Instanz erstellen
test.ident(); // Methode aufrufen

Grüße
Manuel
  ----- Original Message ----- 
  From: Peter.Geller@xxxxxxxx 
  To: ascoders@xxxxxxxxxxxxx 
  Sent: Tuesday, November 12, 2002 9:01 PM
  Subject: [ascoders] Re: OOP Frage



  Das hieße ich schreibe oder verweise einfach die Funktion in das Objekt, um 
es dann später aufrufen zu können. 
  D.h. prototypfunktionen benutze ich nur für Klassen von denen ich Instanzen 
erzeugt habe, oder? 
  Hat es eigentlich irgendwelche Nachteile wenn ich die Funktion an den Mc 
anhänge? 
  Ich habe nämlich momentan mehrere Mcs denen ich verschiedene 
Eventeigenschaften verpasst habe damit ich z.B. 
  Buttonfunktionen alle übersichtlich auf dem ersten Keyframe habe und abändern 
kann. 

  Gruß Peter 


       Manuel.Dahm@xxxxxxxxxxx (Manuel Dahm) 
        Sent by: ascoders-bounce@xxxxxxxxxxxxx 
        12.11.2002 20:17 
        Please respond to ascoders 
               
                To:        <ascoders@xxxxxxxxxxxxx> 
                cc:         
                Subject:        [ascoders] Re: OOP Frage 



  Hallo, 
    
  das kannst Du schon, aber dazu solltest Du "renndaten" als Klasse definieren. 
  Ein Movieclip an sich hat keinen Prototype, lediglich die Klasse 
Movieclip.... 
  Einen prototype für einen MC zu definieren, macht auch eigentlich keinen 
Sinn, da kannst Du ja auch einfach ne Funktion machen.... 
    
  Ich würd das eh eher so schreiben: 
  movieclip.prototype.preselect = function(){ 
  trace("hallo"); 
  } ;
  this.renndaten.maerz_03.preselect(); 
    
    
  Grüße 
  Manuel 

    
    
  ----- Original Message ----- 
  From: Peter.Geller@xxxxxxxx 
  To: ascoders@xxxxxxxxxxxxx 
  Sent: Tuesday, November 12, 2002 8:05 PM 
  Subject: [ascoders] OOP Frage 


  Hi, 
  warum klappt das so 

  loslassen  = function(){trace("hallo"} 
  MovieClip.prototype.preselect = loslassen; 
  this.renndaten.maerz_03.preselect(); 

  und nicht so 

  loslassen  = function(){trace("hallo"} 
  this.renndaten.maerz_03.prototype.preselect = loslassen; 
  this.renndaten.maerz_03.preselect(); 

  wenn ich die Funktion schon mit prototyp auf bestehende Mcs vererben kann, 
  wieso nicht auf einen speziellen??? 

  Gruß Peter 

Other related posts: