Flash / Flex / ActionScript/Class/Properties

Материал из Web эксперт
Перейти к: навигация, поиск

Adding Static Properties to a Class: static publicPrivateModifier var propertyName:Datatype;

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
      trace(Car.EXTERIOR_COLORS);
   }
 }

} class Car{

  static public var EXTERIOR_COLORS:Array = ["red", "silver", "gold", "white", "blue"];

}

       </source>
   
  


Another option is to use implicit getters and setters.

   <source lang="java">

public function get name( ):Datatype {

} public function set name(value:Datatype):void { } package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
       var counter: Counter = new Counter();
       
       counter.count = 5;
       trace(counter.count);
   }
 }

} class Counter {

       private var _count:uint;
       public function Counter(  ) {
           _count = 0;
       }
       public function get count(  ):uint {
           return _count;
       }
       public function set count(value:uint):void {
           if(value < 100) {
               _count = value;
           }
           else {
               throw Error( "Error" );
           }
       }
   }
       </source>
   
  


Build a returning value from get property method

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
     var crTest:Car = new Car("A", "B", "C");
     trace(crTest.description);
   }
 }

}

   class Car {
   
     private var _sMake:String = null;
     private var _sModel:String = null;
     private var _sExteriorColor:String = null;
   
     public function get description():String {
       var sDescription:String = "";
       sDescription += "Model: " + _sModel + "\n";
       sDescription += "Make: " + _sMake + "\n";
       sDescription += "Exterior Color: " + _sExteriorColor + "\n";
       return sDescription;
     }
   
      public function Car(sMake:String,
                          sModel:String,
                          sExteriorColor:String)
      {
        _sMake = sMake;
        _sModel = sModel;
        _sExteriorColor = sExteriorColor;
      }
    

}

       </source>
   
  


Use get and set for properties

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
    var crTest:Car = new Car();
    crTest.make = "Old";
    crTest.model = "A";
    crTest.exteriorColor = "blue";
    trace(crTest.make);
    trace(crTest.model);
    trace(crTest.exteriorColor);
   }
 }

} class Car {

     private var _sMake:String = null;
     private var _sModel:String = null;
     private var _sExteriorColor:String = null;
   
     public function get make():String {
       return _sMake;
     }
    
      public function set make(sMake:String):void {
        _sMake = sMake;
      }
    
      public function get model():String {
        return _sModel;
      }
    
      public function set model(sModel:String):void {
        _sModel = sModel;
      }
    
      public function get exteriorColor():String {
        return _sExteriorColor;
      }
    
      public function set exteriorColor(sExteriorColor:String):void {
        _sExteriorColor = sExteriorColor;
      }

}

       </source>
   
  


Use get and set to define the readable and writable properties

   <source lang="java">

package{

 import flash.display.Sprite;
 
 public class Main extends Sprite{
   public function Main(){
    var crTest:Car = new Car("A", "B", "C");
    trace(crTest.make);
    trace(crTest.model);
    trace(crTest.exteriorColor);
   }
 }

} class Car {

      private var _sMake:String = null;
      private var _sModel:String = null;
      private var _sExteriorColor:String = null;
    
      public function get make():String {
        return _sMake;
      }
    
      public function set make(sMake:String):void {
        _sMake = sMake;
      }
    
      public function get model():String {
        return _sModel;
      }
    
      public function set model(sModel:String):void {
        _sModel = sModel;
      }
    
      public function get exteriorColor():String {
        return _sExteriorColor;
      }
    
      public function set exteriorColor(sExteriorColor:String):void {
        _sExteriorColor = sExteriorColor;
      }
    
      public function Car(sMake:String,
                          sModel:String,
                          sExteriorColor:String)
     {
       _sMake = sMake;
       _sModel = sModel;
       _sExteriorColor = sExteriorColor;
     }
    

}

       </source>