andré.santana [webdesign blog]

Classes em ActionScript – Parte 2

Posted on: 13 maio, 2007

O objetivo de classificar é agrupar elementos de acordo com seu grau de semelhança, seja qual for a classificação. Podemos enxergar isso de forma bem simplificada na classificação dos números:

N = { 1, 2, 3, 4, 5 … }

O conjunto dos números naturais é uma classificação numérica tal que seus elementos são todos maiores que zero (característica comum a todos os elementos). Se somarmos qualquer um de seus elementos, o resultado sempre será um elemento do mesmo conjunto, e muitas outras características dessa classificação, ou conjunto.

Analogamente, quando criamos classes, estas podem possuir características comuns e, portanto, podem ser agrupadas num conjunto de outras classes que também possuam estas características. Veja:

class bicicleta
{

function bicicleta(){} //construtor
/*
… corpo da classe
*/
}

class carro
{

function carro(){}
/*
… corpo
*/

}

Analisando as classes, percebemos que ambas caracterizam veículos de transporte. Logo, poderíamos agrupá-las em um conjunto que possua classes desse tipo (veículos de transporte). Formalmente, estes conjuntos são chamados Pacotes de classes. Sintaticamente (em forma de código), definimos o pacote em que a classe está pela forma: “class nome_do_pacote.nome_da_classe”. Veja:

class transporte.bicicleta
{

function celular(){} //construtor
/*
… corpo da classe
*/
}

class transporte.carro
{

function carro(){}
/*
…corpo
*/

}

É importante lembrar que, se as classes pertencem ao mesmo pacote, então elas devem estar na mesma pasta, que deve possuir o mesmo nome do pacote. De acordo com o exemplo, as classes estariam organizadas numa estrutura de arquivos da seguinte forma:
– ClassPath
– transporte
carro.as
bicicleta.as

Herança entre classes

Biologicamente, os organismos herdam características de seus antecessores, para que haja um reaproveitamento de características evolutivas, e não precise desenvolve-las repetidamente, ou seja, o código genético é reaproveitado.

Assim como reutilizamos os código genético de nossos antecessores, em programação orientada a objetos existem relações de herança entre classes. Quando uma classe herda as características (propriedades e métodos) de outra, dizemos que a classe herdada é superclasse da classe que herdou.

Um exemplo simples de onde ocorre essa herança de características são os carros, os quais todos têm funções como frear, acender o farol, buzinar, acelerar, e outras características comuns de um carro normal. Então, não faz sentido refazer estas funções para todos os carros que são produzidos. Cria-se uma função padrão que todos os carros herdem. Sintaticamente, a herança se dá da seguinte forma:

Class carro_base
{
function carro_base(){}
function frear(){}
function acelerar(){}
/* … */
}

Class ferrari extends carro_base
{
}

Diz-se, então, que a classe ferrari herdou a classe carro_base, ou seja, reaproveitou as funções básicas de um carro. Agora todos os métodos da classe carro_base também pertencem a classe ferrari.

Casualmente, algum método herdado pode ser insuficiente, pode ser necessário implementá-lo:

Class ferrari extends carro_base
{
function acelerar(){
super.acelerar()
/*
Processos adicionais
*/
}
}

Neste caso, a função de aceleração de um carro normal não foi suficiente para a ferrari, então nós utilzamos a função de aceleração padrão e incrementamos com outros processos.

Quando queremos fazer referência à superclasse, devemos utilizar o keyword super.

Espero que tenha ajudado um pouco!

Abraços!

por Caio Meriguetti

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Seja Bem-Vindo!

@andrehsantana

maio 2007
S T Q Q S S D
    jun »
 123456
78910111213
14151617181920
21222324252627
28293031  

RSS Feeds Deliciosos

  • Ocorreu um erro. É provável que o feed esteja indisponível. Tente mais tarde.

Flickr!

Cell

Dia do Design

Geometric

Logotipo Pé do Palco // 02

Logotipo Pé do Palco // 01

Mais fotos

Blog Stats

  • 235,108 hits
%d blogueiros gostam disto: