Mediovski Technology

Kolejność wykonywania konstruktorów w AS3

Data: 8 Grudzień 2009 11:53 Autor: Łukasz Zmywaczyk | Kategoria: Action Script,Flash

Rozważania dotyczą scenariusza, w którym klasa potomna B dziedziczy po klasie A.

	public class A
	{
		public function A()
		{
			trace( 'A::A' );
		}
	}

  • Pierwszy przypadek, czyli wykonanie konstruktorów w kolejności A,B:

    	public class B extends A
    	{
    		public function B()
    		{
    			trace( 'B::B' );
    		}
    	}
    

    wyświetli na konsoli:

    	A::A
    	B::B
    
  • Drugi przypadek, czyli wykonanie konstruktorów w kolejności B,A:

    	public class B extends A
    	{
    		public function B()
    		{
    			trace( 'B::B' );
    			super();
    		}
    	}
    

    wyświetli na konsoli:

    	B::B
    	A::A
    
  • Trzeci przypadek, czyli nie wykonanie konstruktora klasy nadrzędnej:

    	public class B extends A
    	{
    		public function B()
    		{
    			trace( 'B::B' );
    			
    			if( 0 == 1 ) {
    				super();
    			}
    		}
    	}
    

    wyświetli na konsoli:

    	B::B
    

I to by było na tyle.

RSS
Get Adobe Flash player