Saltar para o conteúdo

ActionScript/Herança

Origem: Wikilivros, livros abertos por um mundo aberto.

Herança, em programação orientada a objetos, é o processo de estender uma classe ancestral para uma descendente. Grosso modo, se temos uma classe chamada Pai (tendo atributos como branco e cabelo moreno) e queremos que a classe Filho herde métodos e atributos, a classe Filho, além de poder ter seus próprios atributos (como cor de cabelo diferente da da Pai) ele pode herdar os atributos e métodos de seu Pai.

Grosso modo, a herança é uma parte importante da OO porque permite a reutilização de código existente e facilita o projeto, já que não temos que colocar todos os códigos dentro de uma arquivo do AS.

Para herdar os métodos e atributso de MovieClip, utilizamos a palavra extends depois do nome da classe (Caixa). Caixa se torna uma sub-classe de MovieClip. Exemplo:

package {
    import flash.display.MovieClip;
    import flash.display.Graphics;
    import flash.events.Event;
    public class Caixa extends MovieClip {
        public var cor:uint = 0x000099;
        public function Caixa() {
            //draw a shape at runtime
            this.graphics.lineStyle(1, 0x000000);
            this.graphics.beginFill(cor);
            this.graphics.drawRect(0, 0, 100, 100);
            this.graphics.endFill();
            this.addEventListener(Event.ENTER_FRAME, onLoop, false, 
            0, true);
        }

        public function onLoop(evt:Event):void {
            this.x += 5;
        }
    }
}

Vale lembrar que a função construtora da Classe Caixa deve ter o mesmo nome: Caixa.