as3 메모 10-클래스

여기에 메모 의 원칙 을 써 보 세 요.저 는 as3 에서 자바 와 자바 script 의 특성 을 융합 시 켰 다 고 생각 합 니 다.제 가 기록 한 메모 점 은 대부분 그들 과 다른 곳 이 라 고 생각 합 니 다.
 
1.수식 류 정의 에 사용 할 수 있 는 네 가지 속성 입 니 다.기본 값 은 internal 입 니 다.
  • dynamic                실행 중 인 스 턴 스 에 속성 을 추가 할 수 있 습 니 다
  • final                      다른 종류 로 확장 할 수 없습니다
  • internal(기본 값)   현재 가방 안의 인용 을 볼 수 있 습 니 다
  • public                     모든 위치 에 대한 인용 을 볼 수 있 습 니 다

  • 2.as3 에 추상 류 가 없 기 때문에 클래스 를 정의 할 때 abstract 키워드 가 없습니다.
     
    3.클래스 에서 상수,변수,방법 을 정의 할 수 있 고 네 임 스페이스 도 정의 할 수 있 습 니 다.
    public class SampleClass
    {
        public namespace sampleNamespace;
        sampleNamespace function doSomething():void;
    }

     
    4.as3 에서 같은 이름 의 정적 속성 과 인 스 턴 스 속성 을 정의 할 수 있 습 니 다.
     
    class StaticTest
    {
        static var message:String = "static variable";
        var message:String = "instance variable";
    }
    //     
    var myST:StaticTest = new StaticTest();
    trace(StaticTest.message); //   :    
    trace(myST.message); //   :    

     
    5、클래스 구성원 정의 에 사용 할 수 있 는 속성 은:
  • internal(기본 값)     같은 가방 의 인용 을 볼 수 있 습 니 다
  • private                   같은 종류의 인용 을 볼 수 있다
  • protected               같은 종류 와 파생 류 의 인용 을 볼 수 있다
  • public                     모든 위치 에 대한 인용 을 볼 수 있 습 니 다
  • static                     이 클래스 에 속 하지 않 고 특정한 속성 을 지정 합 니 다
  • UserDefinedNamespace              사용자 정의 네 임 스페이스 이름 입 니 다

  • 6.다이나믹 속성 성명 을 사용 하 는 클래스 에서 개인 변 수 를 방문 하려 고 시도 할 때 실행 중 오류 가 발생 하지 않 습 니 다.변수 만 보이 지 않 습 니 다.그러나 점 연산 자 를 사용 하여 접근 할 때 엄격 한 모드 에서 컴 파일 오류 가 발생 하고 속성 접근 자[]를 사용 하면 그렇지 않 습 니 다.
    7.유형의 구조 함수 방법 은 공공 방법 일 수 있 지만 Public 속성 을 선택적으로 사용 할 수 있 습 니 다.구조 함수 에 대해 다른 접근 제어 설명 자 를 사용 할 수 없습니다(private,proctected 또는 internal 사용 포함).함수 구조 방법 에 대해 사용자 가 정의 한 네 임 스페이스 를 사용 할 수도 없습니다.
    8.as 에 set 와 get 액세스 기 라 는 것 이 있 습 니 다.사실은 자바 의 bean 과 유사 한 기능 을 실현 하여 개인 변수 에 대한 접근 을 실현 하 였 으 나 as3 에서 의 실현 은 다 릅 니 다.
    class GetSet
    {
    private var privateProperty:String;
    public function get publicAccess():String
    {
        return privateProperty;
    }
    public function set publicAccess(setValue:String):void
    {
        privateProperty = setValue;
    }
    }
     
    속성 privateProperty 에 직접 접근 하려 고 시도 하면 오류 가 발생 합 니 다.다음 과 같 습 니 다.
    var myGetSet:GetSet = new GetSet();
    trace(myGetSet.privateProperty); //     

    그러나 PublicAccess 라 는 공공 액세스 기 를 사용 하여 privateproperty 의 값 을 설정 할 수 있 습 니 다.
    var myGetSet:GetSet = new GetSet();
    trace(myGetSet.publicAccess); //   :null
    myGetSet.publicAccess = "hello";
    trace(myGetSet.publicAccess); //   :hello

     9.클래스 의 방법 에서 this 키 워드 는 이 방법 에 속 하 는 인 스 턴 스 를 항상 참조 합 니 다.이 점 은 자바 script 과 다 릅 니 다.as3 가 자동 으로 연결 되 었 기 때 문 입 니 다.하지만 함수 와 자바 script 은 같 습 니 다.
    class ThisTest
    {
        private var num:Number = 3;
        function foo():void //        
        {
            trace("foo's this: " + this);
            trace("num: " + num);
        }
        function bar():Function
        {
            return foo; //        
        }
    }
    
    var myTest:ThisTest = new ThisTest();
    var myFunc:Function = myTest.bar();
    trace(this); //   :[     ]
    myFunc();
    /*   :
    foo's this: [object ThisTest]
    output: num: 3 */
     
     
    10.as3 에서 인 터 페 이 스 는 방법 만 포함 할 수 있 지만 방법 체 는 포함 할 수 없습니다.인 터 페 이 스 는 변수 나 상수 가 포함 되 어 있 지 않 습 니 다.자바 와 같 지만 getter 와 setter 를 포함 할 수 있 습 니 다.
     
    11.클래스 가 인 터 페 이 스 를 실현 할 때 실현 하 는 방법의 매개 변수 수 와 모든 매개 변수의 데이터 형식 은 인터페이스 방법의 매개 변수 수 와 데이터 형식 과 일치 해 야 하지만 매개 변수 이름 은 일치 하지 않 아 도 됩 니 다.
     
    12.기본 값 매개 변 수 를 가 진 인터페이스 방법 을 실현 할 때 기본 매개 변수 값 을 사용 해 야 합 니 다.기본 매개 변수 값 은 인터페이스 정의 에서 지정 한 값 과 같은 데이터 형식 을 가 진 구성원 이지 만 실제 값 이 일치 하지 않 습 니 다.
    //  
    interface IGamma
    {
        function doSomething(param:int = 3):void;
    }
    
    //   
    class Gamma implements IGamma
    {
        public function doSomething(param:int = 4):void {}//          
    }

     13.부모 클래스 에서 var 또는 const 키워드 성명 의 속성 을 사용 하고 계승 하 는 하위 클래스 는 덮어 쓸 수 없습니다.어떤 속성 을 덮어 쓰 면 하위 클래스 에서 이 속성 을 다시 정의 합 니 다.덮어 쓸 수 있 는 유일한 속성 유형 은 function 키워드 로 설명 하 는 속성 입 니 다.인 스 턴 스 변 수 를 덮어 쓸 수 는 없 지만 인 스 턴 스 변 수 를 위해 getter 와 setter 방법 을 만 들 고 이 방법 을 덮어 씁 니 다.
     
    14.정적 방법 은 계승 할 수 없고 덮어 쓸 수 없습니다.단,인 스 턴 스 방법 은 하위 클래스 에서 계승(final,private 제외)할 수도 있 고 덮어 쓸 수도 있 습 니 다.
     
    15.하위 클래스 가 부모 클래스 에 접근 하 는 정적 속성 은 클래스 이름 제한 문자 가 필요 하지 않 습 니 다.
    class Base {
        public static var test:String = "static";
    }
    
    class Extender extends Base
    {
        public function Extender()
        {
            trace(test); //   :  
        }
    }

     
    본 측의 주소:http://kino.iteye.com/blog/239598전재 해 주 십시오.감사합니다!

    좋은 웹페이지 즐겨찾기