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