Hei,
Ja, og enda verre...
class Vector {
private var arr:Number;
function Vector() {
arr = 1;
}
function tr() {
trace(arr);
}
}
var tmp = new Vector();
trace(tmp.arr) // Output : 1;
tmp.arr++;
tmp.tr(); // Output : 2;
Jeg tror ikke du skal prøve å finne noen annen logikk i dette enn at dette
er en feil i Flash som MM, forhåpentligvis av en god grunn, ikke har ordnet
enda.
Det beste er nok å prorgrammere slik som anbefalt innen oop og håpe på at de
fikser det til neste versjon.
Hvis noen mener det er en grunn til at dette kan skje, vær vennlig og si
ifra.
Ellers håper jeg dere bruker:
http://www.macromedia.com/support/email/wishform/
Når dere finner slike ting.
TJ Lunden
"Michael" <agentmikie@cFJERNDETTE.dk> skrev i melding
news:417ad36a$0$179$edfadb0f@dread11.news.tele.dk...
> Hej.
> Jeg har siddet og leget lidt med implementering af javas Vector i MX2004
> educational actionscript 2.0.
>
> Klassen ligner denne :
>
> class Vector{
>
> private var arr:Array
> .....
> }
>
> Men hvordan kan det være at jeg kan tilgå array´et arr direkte ??
> Array´et er jo private.
> f.eks. ved følgende test-data i debug:
>
> var tmp = new Vector();
> tmp.addElement("bla");
> var tmp2=tmp.arr[0]; // Dette burde jeg ikke kunne !!
> trace(tmp2); // tmp2="bla" men burde vel være
> "undefined"
>
> Vil det sige at en movie automatisk er subclass af de klasser der
> instantieres i den movie?
> Eller er en variabel i en klasse kun "private" for andre klasser, men ikke
> for movie´n?
> Jeg kan ikke lige helt få det til at hænge sammen.
>
> Med venlig hilsen
> Michael.
>