mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 12:19 Benutzername: Passwort: Auto-Login

Thema: Getter Setter Trouble vom 22.06.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Multimedia -> Getter Setter Trouble
Autor Nachricht
BK49
Threadersteller

Dabei seit: 22.06.2010
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 22.06.2010 14:40
Titel

Getter Setter Trouble

Antworten mit Zitat Zum Seitenanfang

Hallo!

Ich habe eine Dokumentklasse Main.as und eine Klasse Objects.as.

In der Objects Klasse habe ich einen Setter eingebaut, der aus der Main heraus die var _firstDrag:Boolean auf false setzen soll. Flash sagt immer firstDrag wäre eine nicht definierte Eigenschaft. Die Objekte aus Objects.as gehen per addChild() auf die Bühne...


Objects.as:
Code:

private var _firstDrag : Boolean = true;

public function set firstDrag(fD : Boolean) : void
{
   _firstDrag = fD;
}

Main.as:
Code:

trace(catches[1] + tmpCounter); // Namen des Objekts ausgeben
                  
getChildByName(catches[1] + tmpCounter).firstDrag = false;
  View user's profile Private Nachricht senden
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Di 22.06.2010 15:08
Titel

Antworten mit Zitat Zum Seitenanfang

ich hab zwar keinen peil von AS aber müsste das

Code:

public function set firstDrag



nicht so heissen?

Code:

public function setFirstDrag

Hä?

// edit

was anderes. kann as3 denn nicht die getter und setter methoden automatisch generieren? stichwort synthesizing ?


Zuletzt bearbeitet von choise am Di 22.06.2010 15:09, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
BK49
Threadersteller

Dabei seit: 22.06.2010
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 22.06.2010 15:26
Titel

Antworten mit Zitat Zum Seitenanfang

Hi!

Also ich hab das Skript zum laufen gebracht. Lächel Das stage object muss noch als object.as zugehörig gecasted werden:
Code:
Object(getChildByName(catches[1] + tmpCounter)).firstDrag = false;


Mit den Schreibweisen habe ich beides schon mal gesehen, aber überwiegend set und funktionsname getrennt.
  View user's profile Private Nachricht senden
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Di 22.06.2010 16:34
Titel

Antworten mit Zitat Zum Seitenanfang

@Choise
nein nein

Code:
public function set firstDrag(v:Boolean):void


ist schon richtig. Das ja das geile an AS und das was mir bei Java so fehlt Lächel

So kannst Du private variablen nach aussen als public tarnen, hast aber direkt nen Watch drauf Grins


EDIT: Der FB4 erstellt dir automatisch die getter und Setter


Zuletzt bearbeitet von phihochzwei am Di 22.06.2010 16:36, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Di 22.06.2010 16:39
Titel

Antworten mit Zitat Zum Seitenanfang

kann man bei java in der objekt klasse nicht einfach die setter/getter methode überschreiben wenn man die in irgendeiner art und weise validieren will oder sonstige dinge machen will?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
phihochzwei
Moderator

Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht: Männlich
Verfasst Di 22.06.2010 17:22
Titel

Antworten mit Zitat Zum Seitenanfang

Naja, de für mich entscheidene Unteschied ist der. Stell Dir vor, du hast eine private variable num die du in einem interval oder onclick erhöhen willst. gleichzeitig soll dann irgendwas in der jeweiligen instanz passieren. In Java wäre das sowas


Code:

// Code in der Klasse

private int num = 0;

public void setNum(int n){
    this.num = n;
    //hier dein Code.
}
public int getNum(){
    return num;
}


// Ausserhalb dann

instanz.setNum(instanz.getNum() + 1);



In AS3 sieht das jetzt sehr ähnlich aus:
Code:


private var _num:int = 0;

public function set num(n:int):void{
    this._num = n;
    /// dein Code
}

public function get num():int{
    return this._num;
}


//Ausserhalb dann

instanz.num++;



Und diese LETZTE ZEILE ist das, was mir bei Java oftmals fehlt, weil du damit natürlich bei Objekten auch mal ganz entspannt ne For...in machen kann Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst Di 22.06.2010 20:10
Titel

Antworten mit Zitat Zum Seitenanfang

ECMAScript Style ist halt schon was feines. *Thumbs up!* Ja das wirst du so in Java nie schaffen. Naja, genug OT für heute *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen USB-Trouble
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Multimedia


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.