2011-12-27 8 views
0

2つのオブジェクトをそれぞれ異なるデータで設定しようとしています。オブジェクトのデータ、私は2番目のオブジェクトデータを取得することができます。 1番目のオブジェクトが2番目のオブジェクトに置き換えられたようです。異なるデータを持つ2つの同じオブジェクトをパラメータとして渡しますが、2番目(最後)のオブジェクトデータのみを取得します

TimeSpan.betweenMonths(MyDate.setDate(1984), MyDate.setDate(1988)) 

日付オブジェクト:

package hwang.time 
{ 

public class MyDate 
{ 
    private static var _year:Number; 

    public static function setDate(year:Number):MyDate 
    { 
     _year = year;  
     return new MyDate 
    } 

    public function get year():Number 
    { 
     return _year 
    } 
} 
} 

オブジェクトがに渡したクラス:私はとは対照的に、静的な機能の必要性を理解することは非常にわからないんだけど

public static function betweenMonths(myDate1:MyDate, myDate2:MyDate):int 
    { 
     yearArray = [myDate1, myDate2] 
     trace(yearArray[0].year, yearArray[1].year) // both returnng 1988 
} 

答えて

2

コンストラクタを使って!

package hwang.time 
    { 

    public class MyDate 
    { 
     private var _year:Number; 

     public function MyDate(year:Number) 
     { 
      _year = year;  
     } 

     public function get year():Number 
     { 
      return _year 
     } 
    } 
    } 

    //Then you can do... 
    TimeSpan.betweenMonths(new MyDate(1984), new MyDate(1988)); 
+0

これは静的変数であり、新しく作成されたインスタンスには格納されない_yearに値を格納しているので、同じことがまだ返されませんか?すべての静的なものを削除してください。 –

+0

私は_year静的変数を見落としました!もちろん、静的であってはいけません。 – PatrickS

関連する問題