private vars i class files kan findes med for.. in loop?
HejIdeen med en private var i en class file er vel at brugeren af classen hverken kan se eller ændre på den, medmindre vedkommende bruger getters og setters.
Men hvis man bruger et for.. in loop kan man godt. Er der nogen praktisk årsag til at det hænger sådan sammen?
et eksempel:
Class file:
class PrivateTest
{
private var _myPrivate:String;
public function PrivateTest(mp:String)
{
this.myPrivate = mp;
}
public function set myPrivate(mp:String):Void
{
this._myPrivate = mp;
}
public function get myPrivate():String
{
return _myPrivate;
}
}
i fla:
var newTest:PrivateTest = new PrivateTest("tester");
trace(newTest.myPrivate); //virker som den skal
//trace(newTest._myPrivate); // giver en fejl som den skal
// her kan jeg så både ændre og se private vars?
for(prop in newTest)
{
newTest[prop] = "Super";
trace(prop+" : "+newTest[prop]);
}
: ) Jakob
