Hi, die Vererbung der Prototypen klappt ja wunderbar, wie kann ich den die eigentliche Grundklasse und deren Inhalte auf einen MC bringen? Gruß Peter "Arne Oberlaender" <arne.oberlaender@xxxxxxxxxx> Sent by: ascoders-bounce@xxxxxxxxxxxxx 15.11.2002 08:13 Please respond to ascoders To: <ascoders@xxxxxxxxxxxxx> cc: Subject: [ascoders] Re: OOP Frage Eine wirklich sehr prägnante Zusammenfassung. Damit kann man einige Kapitel (von sogar recht guten AS-Büchern) in einen Absatz schreiben. ;-) Gruß _____ Arne ----- Original Message ----- From: "timo stamm" <t.stamm@xxxxxxxxxx> To: <ascoders@xxxxxxxxxxxxx> Cc: "timo stamm" <t.stamm@xxxxxxxxxx> Sent: Wednesday, November 13, 2002 8:22 PM Subject: [ascoders] Re: OOP Frage > peter, > > > das wird dir vielleicht helfen: > > > //--- klasse definieren > klasse = function (argument) { > this.init(argument); > }; > klasse.prototype = new MovieClip(); // ist nur nötig wenn die > zielinstanz MC ist > klasse.prototype.init = function (argument) { > this.daten = argument; > }; > klasse.prototype.methode = function () { > return this.daten; > }; > > //--- an bestehendes objekt vererben > meinMC.__proto__ = klasse.prototype; // methoden vererben > meinMC.init("wert"); // "konstruktor" aufrufen > > meinMC.methode(); // "wert" > > > Timo > > > Am Dienstag, 12.11.02 um 13:24 Uhr schrieb Peter.Geller@xxxxxxxx: > > > > > Hi, > > ich kann ohne Probleme Klassen erstellen davon Instanzen und widerrum > > verschiedene Eigenschaften vererben, > > allerdings habe ich ein Problem damit, die Eigenschaften auf schon > > bestehende MCs auf der Bühne weiterzugeben. > > (ohne jetzt mit registerClass Klassen an MCs aus der Bühne > > zuverknüpfen) > > > > Danke Peter > > > > > <image.tiff> > > > > > > > > > > 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 > > > <image.tiff> > > > > > > > > > > > > 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 > > ------------------------------------------------------ > Archiv : //www.freelists.org/archives/ascoders/ > Optionen : //www.freelists.org/list/ascoders > ------------------------------------------------------ ------------------------------------------------------ Archiv : //www.freelists.org/archives/ascoders/ Optionen : //www.freelists.org/list/ascoders ------------------------------------------------------