Você está na página 1de 5

Orientao a Objeto no Action Script 3.

0 por Rafael Lima


Postado em
y y y y y

Artigos Tutoriais Flash Orientao de Objetos (oo) Rafael Lima

|
y

Blog de erickalves

A orientao a objetos um paradigma baseado na construo e interao entre diversas unidades de um software. Essas unidades so chamadas de objetos. Os objetos so construdos 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 caractersticas, como ele ir se comportar e quais servios e aes 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 infor ma a mquina virtual do Flash como o objeto deve agir dentro do projeto. Um dos focos principais deste tipo de paradigma a manuteno e reutilizao de cdigo. Ou seja, podemos criar um cdigo 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 caractersticas como: sexo, nome, idade, peso, altura, cor, cabelos e entre outras. Essas caractersticas podem ser chamadas de propriedades de um objeto. Alem das caractersticas temos tambm as aes de um objeto Humano. A maioria dos seres Humanos tem aes como: andar, correr, falar, gritar, pular, beijar e abraar e entre outras aes. Essas aes podem ser classificadas de mtodos de um objeto. Mas o que seria uma propriedade e um mtodo em um objeto? A propriedade de um objeto nada mais do que uma varivel especificada dentro da de uma classe de objeto. E um mtodo nada mais do que uma funo 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 cdigo em classes, simplificam e organizam o trabalho, alm de proteger partes do cdigo, para que estes no sejam alterados, e ainda podemos contar com a maravilhosa vantagem de poder reutilizar o cdigo em algum outro projeto. Ento iremos praticar um pouco desse conceito no ActionScript 3.0. Vamos digitar o seguinte cdigo 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 no se preocupem com as palavras reservadas que vo aparecer no cdigo. No decorrer de outras aulas vocs vo aprender para que serve cada uma delas. Abra o flash cs3 (obrigatrio o CS3) clique em actionscript file. package { public class Humano { // caractersticas (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"; // aes (mtodos) 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 cdigo da estrutura da classe Humano.

Agora vamos executar as aes dela. Para isso, vamos criar uma nova instancia da classe Humano que vai herdar todas as caractersticas e aes da classe Humano. Isso , vamos tentar entender o bsico da herana. Vamos criar uma nova classe Chamada Main. com ela que iremos acessar as caractersticas e aes ou propriedades e mtodos da classe Humano. Vamos digitar o cdigo: 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 mtodos da classe Humano. Na verdade homem uma instancia da classe humano. Instancia quando voc da um nome a um objeto que herda propriedades e mtodos 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 ento executar e descobrir as propriedades e mtodos 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 = Joo; trace(homem.nome);

Control + enter pra testar e veja que agora o trace retorna o valor Joo na janela de sada. Agora vamos descobrir o valor da propriedade idade da instancia homem? public function Main() { trace(homem.idade); } Homem tem 23 anos. Faam vocs 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 aes. Ou mtodos como preferir. Vamos executar o mtodo 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 mtodo 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 tambm um objeto.E um objeto do tipo MovieClip. S que a classe Main contem sua caracterstica prpria, que na qual criar uma instancia do objeto do Humano.A instancia homem alm de ser um objeto do tipo Humano uma propriedade da classe Main. Vou citar um exemplo de caracterstica prpria: Imagine o objeto bola. Imaginou? Ento agora, imagine o objeto Bola de basquete. Imaginou? Ento a Bola de basquete no deixa de ser uma bola, certo? Porem a bola de basquete difer ente de uma bola de futebol. correto? Mas as duas no deixam de ser uma bola. No ? Ento qual a caracterstica bsica de uma bola? Pra quem pensou que a caracterstica redonda acertou. xD Vamos simular esse tipo situao na orientao a objetos. Eu tenho uma classe (superClasse) chamada bola com uma caracterstica, no caso propriedade redonda. Ento 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 vo 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 caracterstica da superClasse bola. Ou seja, a Classe bola de Basquete vai ser redonda. A mesma coisa acontece com a classe bola de futebol, caso indicssemos que a mesma fosse uma subclasse da super-classe bola. Como eu disse anterior mente a bola de basquete tem suas prprias caractersticas. E quais seriam elas? Simples, ela laranja e tem listras pretas. Mesmo assim no deixa de ser uma bola redonda. Pois obteve a herana 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 caracterstica prprias, que so aqueles hexgonos, brancos e pretos. Por tanto, toda vez que uma classe herda (extende) a classe bola, a mesma vai ter a propriedade redonda atribuda a ela. E isso na orientao a objetos chamado de HERAN A. Para criar uma herana 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 mtodos do movieclip. Eu tambm poderia criar uma classe homem com caractersticas e aes prprias. Mas o vdeo tutorial ficaria gigante. :S O Flash tem uma regra bsica, porem muito importante. Todo o objeto de visualizao independe que tenha grficos ou no, at mesmo textos ou dados internos como os resultados de traces, preciso que o mesmo objeto faa parte de uma DisplayList. Display essa que controlada pelas classes DisplayObject e DisplayObjectContainer. a lei do flash! No se preocupe com isso agora, iremos aborda o tema de como trabalhar na programao de hierarquia dos objetos no actionscript 3.0. Ento ter minar aqui a nossa introduo sobre Orientao a objetos. Ento at prxima fique com Deus.

Você também pode gostar