Orientação a Objeto no Action Script 3.0 por Rafael Lima

A orientação a objetos é um paradigma baseado na construção e interação entre diversas unidades de um software.

Essas unidades são chamadas de objetos.
Os objetos são construídos a partir de classes.
Uma classe é usada para especificar tipos de dados de um objeto. É na classe que especificamos qual tipo de objeto vai existir em nosso projeto de software. Quais as suas características, como ele irá se comportar e quais serviços e ações ele irá prestar dentro de nosso projeto de software. Basicamente uma classe é usada para construir um objeto, Ou seja, ela é um projeto de objeto. É ela que informa a máquina virtual do Flash como o objeto deve agir dentro do projeto.

Um dos focos principais deste tipo de paradigma é a manutenção e reutilização de código. Ou seja, podemos criar um código aonde possa ser reutilizado em outros projetos. Vamos entender um pouco sobre Objetos e classes

Vamos citar aqui o objeto Humano.
Todo objeto Humano tem suas características como: sexo, nome, idade, peso, altura, cor,  cabelos e entre outras. Essas características podem ser chamadas de propriedades de um objeto.

Alem das características temos também as ações de um objeto Humano. A maioria dos seres Humanos tem ações como: andar, correr, falar, gritar, pular, beijar e abraçar e entre outras ações. Essas ações podem ser classificadas de métodos de um objeto.

Mas o que seria uma propriedade e um método em um objeto?

A propriedade de um objeto nada mais é do que uma variável especificada dentro da de uma classe de objeto.

E um método nada mais é do que uma função especificada dentro de uma classe de objeto.
 
Usar classes para criar objetos é realmente útil quando se esta desenvolvendo um grande projeto de software. Onde armazenar e estruturar código em classes, simplificam e organizam o trabalho, além de proteger partes do código, para que estes não sejam alterados, e ainda podemos contar com a maravilhosa vantagem de poder reutilizar o código em algum outro projeto.

Então iremos praticar um pouco desse conceito no ActionScript 3.0.
Vamos digitar o seguinte código em uma classe. De agora em diante eu irei referir me aos objetos como classes. Assim fica mais simples de seguir e entender a aula.

Quero deixar claro para que não se preocupem com as palavras reservadas que vão aparecer no código. No decorrer de outras aulas vocês vão aprender para que serve cada uma delas.
Abra o flash cs3 (obrigatório o CS3) clique em actionscript file.

package
{
    public class Humano 
    {
        // características (propriedades)
        public var sexo:String = "Masculino";
        public var nome:String = "Rafael";
        public var idade:Number = 23;
        public var olhos:String = "Castanhos";
        public var cabelo:String = "Ondulados";
       
        // ações (métodos)
        public function andar()
        {
            trace("Estou andando");
        }
       
        public function correr()
        {
            trace("Estou correndo");
        }
       
        public function falar()
        {
            trace("Olá, você está no Blog do Erick");
        }
       
       
    }
   
}


Bem esse ai é o nosso código da estrutura da classe Humano.
Agora vamos executar as ações dela. Para isso, vamos criar uma nova
instancia da classe Humano que vai herdar todas as características e ações da classe Humano. Isso é, vamos tentar entender o básico da herança.

Vamos criar uma nova classe Chamada Main. È com ela que iremos acessar as características e ações ou propriedades e métodos da classe Humano.


Vamos digitar o código:

package
{
    import flash.display.MovieClip
    import Humano
       
    public class Main extends MovieClip
    {
        private var homem:Humano = new Humano();
               
        public function Main()
        {
           
        }
       
    }
   
}


Essa é a estrutura da classe Main.
Bem agora que criamos o objeto homem, ele herdou todas as propriedades e métodos da classe Humano. Na verdade homem é uma instancia da classe humano. Instancia é quando
você da um nome a um objeto que herda propriedades e métodos de um outro objeto. No caso herda do objeto PAI de nome superClasse. E o homem torna-se sub-classe da super-classe Humano.

Vamos então executar e descobrir as propriedades e métodos da instancia homem.

public function Main()
        {
            trace(homem.nome);
        }

Veja que o output nos retornou o valor Rafael
Poremos modificar o valor da propriedade nome da instancia homem.
veja:

homem.nome = “João”;
trace(homem.nome);

Control + enter pra testar e veja que agora o trace retorna o valor João na janela de saída.
Agora vamos descobrir o valor da propriedade idade da instancia homem?

public function Main()
        {
            trace(homem.idade);
        }

Homem tem 23 anos.
 

Façam vocês mesmo, a mesma coisa com as propriedades como sexo, cabelo e olhos.

Depois de ter testado as propriedades sexo, cabelo e olhos é hora de executarmos as ações.
Ou métodos como preferir.

Vamos executar o método falar.

homem.falar();
Veja que o output retornou o valor do tipo String, “Olá, você está no Blog do Erick”;

A mesma coisa com o método andar

homem.andar():
Veja que o output retornou o valor do tipo String, “Estou andando”;

E o correr
homem.correr()
O output retornou o valor do tipo String “Estou correndo”;


Nossa classe Main também é um objeto.E é um objeto do tipo MovieClip.
Só que a classe Main contem sua característica própria, que na qual é criar uma instancia
do objeto do Humano.A instancia homem além de ser um objeto do tipo Humano é uma propriedade da classe Main.

Vou citar um exemplo de característica própria: Imagine o objeto bola. Imaginou?
Então agora, imagine o objeto Bola de basquete. Imaginou? Então a Bola de basquete não deixa de ser uma bola, certo? Porem a bola de basquete é diferente de uma bola de futebol.
correto? Mas as duas não deixam de ser uma bola. Não é? Então qual é a característica básica de uma bola? Pra quem pensou que é a característica redonda acertou. xD

Vamos simular esse tipo situação na orientação a objetos.
Eu tenho uma classe (superClasse) chamada bola com uma característica, no caso propriedade redonda. Então vou criar duas novas bolas. Uma de futebol e a outra de basquete. Com os nomes: Bola_de_Basquete e Bola_de_Futebol,

As duas vão ser sub-classes da superClasse bola. 
Quando eu indico que a classe Bola_de_Basquete é uma sub-classe da superClasse bola
Estou dizendo ao flash que a classe Bola_de_Basquete terá a característica da superClasse bola. Ou seja, a Classe bola de Basquete vai ser redonda. A mesma coisa acontece com a classe bola de futebol, caso indicássemos que a mesma fosse uma subclasse da super-classe bola.

Como eu disse anteriormente a bola de basquete tem suas próprias características.
E quais seriam elas? Simples, ela é laranja e tem listras pretas. Mesmo assim não deixa de ser uma bola redonda. Pois obteve a herança da super-classe bola.

A mesma coisa acontece com a classe Bola de Futebol. Ela herda a propriedade da super-classe bola, porem tem suas característica próprias, que são aqueles hexágonos, brancos e pretos.

Por tanto, toda vez que uma classe herda (extende) a classe bola, a mesma vai ter a propriedade redonda atribuída a ela. E isso na orientação a objetos é chamado de HERANÇA.

Para criar uma herança em actionscript 3.0 importamos a super-classe e depois utilizamos a palavra reservada extends, Como vimos no exemplo da classe Main quando ela herdou as propriedades e métodos do movieclip.
 
Eu também poderia criar uma classe homem com características e ações próprias.
Mas o vídeo tutorial ficaria gigante. :S 

O Flash tem uma regra básica, porem muito importante. Todo o objeto de visualização independe que tenha gráficos ou não, até mesmo textos ou dados internos como os resultados de traces, é preciso que o mesmo objeto faça parte de uma DisplayList.

Display essa que é controlada pelas classes DisplayObject e DisplayObjectContainer.
É a lei do flash! Não se preocupe com isso agora, iremos aborda o tema de como trabalhar na programação de hierarquia dos objetos no actionscript 3.0.

Então terminar aqui a nossa introdução sobre Orientação a objetos.
Então até próxima fique com Deus.

 

0
Your rating: Nenhum

Comentários

Muito Obrigado!!!

Otimo tutorial para iniciantes! Muito obrigado mesmo. Espero que venha mais com essa mesma clareza. Abração

Muito bom o tutorial, bem

Muito bom o tutorial, bem claro. Usando essas analogias fica mais fácil entender o código, e quais as funções de cada elemento dele, curti e vou acompanhar outros tutos.

Comentar

O conteúdo deste campo é privado não será exibido ao público.