2011-12-21 2 views
0

첫 번째 실제 Flex 앱을 개발 중이며 많은 것을 배웠습니다. 이제 수업을 다루는 기본 사항을 이해하려고합니다. LastFm API에서 정보를 묻는 함수가 있습니다. 다음은 기본 함수입니다.Flex에서 클래스를 이해하려고 시도했습니다.

 public function zoekChart(event:MouseEvent):void 
     { 
      var api_URL:String = 'http://ws.audioscrobbler.com/2.0/'; 
      var api_method:String = 'geo.getMetroUniqueArtistChart'; 
      var api_key:String = '99f1f497c0bd598f1ec20571a38e2219'; 
      var country:String = countryText.text; 
      var metro:String = metroText.text; 
      var limit:String = '5'; 
      api_request = api_URL + '?method=' + api_method + '&country=' + country + '&metro=' + metro + '&api_key=' + api_key + '&limit=' + limit; 
      myRequest.send(); 
     } 

이제 함수와 동일한 클래스를 만들려고합니다.

package valueObjects 
{ 
public class Kevin_myChart 
{ 
    private var api_URL:String; 
    private var api_method:String; 
    private var api_key:String; 
    private var country:String; 
    private var metro:String; 
    private var limit:String; 

     public function lastFMCall (api_URL:String, api_method:String, api_key:String, 
            country:String, metro:String, limit:String) 
     { 
      this.api_URL=api_URL; 
      this.api_method=api_method; 
      this.api_key=api_key; 
      this.country=country; 
      this.metro=metro; 
      this.limit=limit; 
     } 

     public function getInfo(size:String):String 
     { 

      return api_URL + '?method=' + api_method + '&country=' + country + '&metro=' + metro + '&api_key=' + api_key + '&limit=' + limit; 

     } 
} 

}

이 좋은 시작이다 : 이것은 내가 지금까지 가지고 무엇인가? 내 첫 번째 질문은 클래스에서 textfields countryText 및 metroText 값을 가져올 수있는 방법입니다.

여기에서 어떻게 계속해야합니까? 어떻게해야 내 응용 프로그램이 클래스에서 선언 된 함수를 사용할 수 있는지 확인하고 클래스의 변수에서 값을 지금 가져올 수 있습니까?

답변

1

클래스의 constructor을 사용하여 값을 전달할 수 있습니다. 생성자는 클래스의 새 인스턴스를 만들 때 호출됩니다. 생성자

public function zoekChart(event:MouseEvent):void 
{ 
    var api_URL:String = 'http://ws.audioscrobbler.com/2.0/'; 
    var api_method:String = 'geo.getMetroUniqueArtistChart'; 
    var api_key:String = '99f1f497c0bd598f1ec20571a38e2219'; 
    var country:String = countryText.text; 
    var metro:String = metroText.text; 
    var limit:String = '5'; 

    // create a new instance of your class 
    var kevinMyChart:Kevin_myChart = new Kevin_myChart(api_URL, api_method, api_key:, country, metro, limit); 

    // not sure what the 'size' is used for 
    api_request = kevinMyChart.getInfo("size"); 
    myRequest.send(); 
} 

귀하의 Kevin_myChart 클래스 :

package valueObjects 
{ 
    public class Kevin_myChart 
    { 
     private var api_URL:String; 
     private var api_method:String; 
     private var api_key:String; 
     private var country:String; 
     private var metro:String; 
     private var limit:String; 

     public function Kevin_myChart(api_URL:String, api_method:String, api_key:String, country:String, metro:String, limit:String) 
     { 
      this.api_URL=api_URL; 
      this.api_method=api_method; 
      this.api_key=api_key; 
      this.country=country; 
      this.metro=metro; 
      this.limit=limit; 
     } 

     public function getInfo(size:String) : String 
     { 
      // not sure what the 'size' is used for  
      return api_URL + '?method=' + api_method + '&country=' + country + '&metro=' + metro + '&api_key=' + api_key + '&limit=' + limit; 

     } 
    } 
} 

당신이 올바른 방향으로 점점이, 어쩌면이 튜토리얼은 당신에게 클래스를 만들 수있는 방법에 대한 몇 가지 더 많은 정보를 제공 할 것입니다.

http://www.kirupa.com/developer/as3/classes_as3_pg3.htm

그렇지 않으면 빠른 Google Search 더 aswell 당신을 도울 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 정말 늦었으니 내일 시험해보기 위해 내일까지 기다릴 것입니다. 그러나 그것이 효과가 있었는지 알려주고 답을 대답으로 표시하십시오. –

+0

아무 문제도, en weltrusten;) –

+0

Bedankt :) 코드를 구현하려고했지만 2 에러가 있습니다.> var kevinMyChart : Kevin_myChart = 새로운 Kevin_myChart (api_URL, api_method, api_key, country, metro, limit); 부정확 한 수의 인수, 예상 0. 그리고 api_request = kevinMyChart.getInfo; 암시 적 강제 형 함수와 관련없는 형 문자열. 또한 '크기'를 삭제할 수 있습니다. 뭔가를 시도하고 삭제하는 것을 잊었습니다. –

관련 문제