Flash / Flex / ActionScript/Class/Object
Содержание
- 1 Accessing Object Methods
- 2 Accessing Object Properties
- 3 Creating an Object: var variableName:datatype = new ClassName();
- 4 Removing Properties
- 5 Testing for Existence
- 6 Use this operator to investigate instances of classes for methods and public properties
- 7 Using Objects as Associative Arrays
- 8 Using the dot (.) operator to create the same variable causes an error because it violates the syntactic rules for identifiers:
Accessing Object Methods
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var sTitle:String = new String("ActionScript ABC"); var sSubject:String = sTitle.substr(0, 12); trace(sSubject); // Displays: ActionScript } }
}
</source>
Accessing Object Properties
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var sTitle:String = new String("Bible"); var sName:String = new String("Lott"); trace(sTitle.length); if(sTitle.length > 12) { trace("The title has more than twelve characters."); } } }
}
</source>
Creating an Object: var variableName:datatype = new ClassName();
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var oFirstObject:Object = new Object(); trace(oFirstObject instanceof Object); // Displays: true var sTitle:String = new String("ActionScript Bible"); trace(sTitle instanceof String); // Displays: true } }
}
</source>
Removing Properties
<source lang="java">
The delete operator can be used to remove key-value pairs from an associative array. The delete operator returns true if deletion succeeds.
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var pastas:Object = {t: 2, g: 14, s: 9}; trace(pastas["s"]); // Displays 9 delete pastas["s"]; trace(pastas["s"]); // Displays undefined } }
}
</source>
Testing for Existence
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var notes:Object = {Roger: "hereiam"}; trace( "Roger" in notes ); // Returns true trace( "Josh" in notes); // Returns false } }
}
</source>
Use this operator to investigate instances of classes for methods and public properties
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var sprite:Sprite = new Sprite(); trace("alpha" in sprite); // Displays true trace("getChildAt" in sprite); // Displays true var person:Person = new Person("Ben"); trace("name" in person); // Displays true trace("SSN" in person); // Displays false } }
}
class Person { public var name:String; private var SSN:Number; public function Person(name:String) { this.name = name; } } </source>
Using Objects as Associative Arrays
<source lang="java">
package{
import flash.display.Sprite; import flash.utils.Dictionary; public class Main extends Sprite{ public function Main(){ var guy1:Person = new Person("Roger"); var guy2:Person = new Person("Mims"); var girl1:Person = new Person("Ashley"); var notes:Object = new Object(); notes["Roger"] = "Likes games"; notes["Mims"] = "Super organized"; notes["Ashley"] = "Enjoys drawing"; } }
} class Person{
public function Person(string:String){ }
}
</source>
Using the dot (.) operator to create the same variable causes an error because it violates the syntactic rules for identifiers:
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var info:Object = new Object( ); info["411"] = "Information Line"; var info:Object = new Object( ); info.411 = "Information Line"; // ERROR! Identifiers must not start } }
}
</source>