Flash / Flex / ActionScript/Class/Properties

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

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

 

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"];
}



Another option is to use implicit getters and setters.

 
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" );
            }
        }
    }



Build a returning value from get property method

 
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;
       }
     
}



Use get and set for properties

 
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;
       }
}



Use get and set to define the readable and writable properties

 
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;
      }
     
}