1 / 32

DESIGN E COMUNICAÇÃO MULTIMÉDIA 2011 / 2012

DESIGN E COMUNICAÇÃO MULTIMÉDIA 2011 / 2012. FORMADOR Gonçalo Miguel MÓDULO 25. Introdução ao ActionScript 3.0. 25. Introdução ao ActionScript 3.0. Módulo 25 – 3ª Sessão. Conceitos de Programação orientada a objectos Recorrendo ao ActionScript 3.0

quiana
Download Presentation

DESIGN E COMUNICAÇÃO MULTIMÉDIA 2011 / 2012

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DESIGN E COMUNICAÇÃO MULTIMÉDIA 2011 / 2012 FORMADORGonçalo Miguel MÓDULO25. Introdução ao ActionScript 3.0

  2. 25. Introdução ao ActionScript 3.0 Módulo 25 – 3ª Sessão Conceitos de Programação orientada a objectos Recorrendo ao ActionScript 3.0 Novos Conceitos : classes, objectos ,método construtor, métodos set get, métodos, instâncias, extensão de classes, polimorfismo,… Material: Slides PowerPoint

  3. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Programação orientada a objectos Programação orientada a objectos é uma maneira de organizar o código de um programa, agrupando-o em objectos, que são os elementos individuais que incluem informação ( propriedades com valores ) e comportamentos. Tarefas típicas na programação orientada a objectos • Definição de classes • Criação de propriedades, métodos de obtenção e definição de acessor (Set / Get) • Controle do acesso a classes, propriedades, métodos e acessores • Criação de propriedades e métodos estáticos

  4. 25. Introdução ao ActionScript 3.0 Definição da Classe package com.example.quickstart { importflash.display.MovieClip; publicclass Greeter { // ------- Método Construtor ------- publicfunction Greeter(initialName:String = "") { name = initialName; } // ------- Propriedades ------- publicvar name:String; // ------- Métodos ------- publicfunction sayHello():String { return “Hi”; } } }

  5. 25. Introdução ao ActionScript 3.0 Utilização da Classe Para usarmos a classe definida anteriormente, temos de importar, colocando o package e o nome da Classe. importcom.example.quickstart.Greeter; var michaelGreeter:Greeter = new Greeter("Michael"); michaelGreeter.name = "Mike" trace(michaelGreeter.sayHello())

  6. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Classes Uma classe é uma representação abstracta de um objecto A definição da estrutura e o comportamento de objectos de um determinado tipo

  7. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Objecto Um objecto é uma instância de uma determinada Classe A definição da estrutura e o comportamento de objectos de um determinado tipo

  8. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Classe Objecto Propriedades Propriedades: valor Métodos

  9. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Classe Carro combustivel deposito dono matricula ano MainClass TimelineCode External AS DocumentClass atestar() deQuemÉ() matricula() Idade() API da classe

  10. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 carro1 Carro Combustivel: 300 deposito : 900 dono : “Manuel” matricula : “bo-gi-21” ano : 2001 combustivel deposito dono matricula ano atestar() deQuemÉ() matricula() Idade() carro2 Combustivel: 100 deposito : 210 dono : “Miriam” matricula : “bi-de-33” ano : 2001

  11. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 //Declaração de package package transportes{ //Declaração de Classepublicclass Carro { //Declaração das propriedades var combustivel:Number; //Método Construtor – Para construir um elemento do nosso novo tipo public function Carro()   {  } //Declaração dos métodos //atestar, andar, contaKm, media, etc….     } }

  12. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Método Construtor

  13. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 • O método construtor é o método que nos permite instanciar um objecto da classe, e é o único método que tem de existir em todas as classes. • O método construtor tem de ser obrigatoriamente público ( Ver controlo de acesso) • O método construtor tem o mesmo nome da classe e não tem valor de retorno, apesar de retornar sempre um objecto da classe. • Podemos ter vários métodos construtores que sejam instanciados com diferentes argumentos, mas sempre com o nome da classe. • Caso do Array: • var meuArray:Array = newArray(); • var meuArray:Array = newArray(12,23);

  14. 25. Introdução ao ActionScript 3.0 Stage FLA Main.as Classes MovieClip FiguraGeometrica KeyboardEvent MovieClip Package:flash.display Package:flash.events Package:com.gonmiguel.figuras KeyEvent MouseEvent Quadrado Triangulo

  15. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 CONTROLO DE ACESSO

  16. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Controlo de Acesso: Variáveis e funções

  17. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 • Controlo de Acesso: Exemplos de utilização • private function drawTriangle():void { • … • } • private var variavelPrivada:Number ; • public function Aviao():void{ • … • }

  18. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Métodos Set e Get

  19. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 As propriedades das classes não devem ser acedidas directamente por outras classes. Devemos então definir as nossas variáveis como private, e devemos implementar uma função para aceder à propriedade (Getter – de Get) e outra função para associar um valor a uma propriedade (Setter – de Set). package Transporte{ publicclass Carro { private var combustivel:Number; public function getcombustivel():Number {returncombustivel; } public function setcombustivel(comb:Number):void {combustivel = comb; } …

  20. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 PACKAGES

  21. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Package: Conceito Um package corresponde a uma estrutura de classes actionscript. Uma classe que instancie um objecto, não é escrita nas actions do fla. É escrita num ficheiro próprio de extensão .as (actionscript) e tem obrigatoriamente de estar dentro de um package. Se o ficheiro “as” estiver na mesma directoria do .fla, deverá ser declarado sem nome. Caso esteja dentro de uma directoria, deverá ser declarado com o nome da directoria.

  22. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 • Package Transportes { • publicclassAviao { • } • } Definição básica da classe Aviao. Indica-nos que para usarmos a classe Aviao , teremos de importar o package Transportes. No nosso ficheiro de actionscript principal, importaríamos da seguinte maneira: import Transportes.Aviao;

  23. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Package: Declaração Exemplos: a.)Esta classe está definida na mesma directoria do “.fla” package { class Button { .. } } b.)Esta classe está definida dentro de uma directoria controls, que por sua vez está dentro de uma directoria mx package mx.controls { class Button { .. } } importButton; importmx.controls.Button;

  24. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Extensão e Hierarquia de classes

  25. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Extensão e Hierarquia de classes http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/MovieClip.html

  26. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Extensão e Hierarquia de classes Um objecto da classe MovieClip é também da classe Sprite, DisplayObjectContainer, InteractiveObject , DisplayObject, EventDispatcher e Object Para criarmos uma classe que seja herdada de outra, temos de utilizar a palavra extends como no exemplo que se segue. Uma classe Aviao que estende a classe MovieClip ( E tem a sua própria timeline…) • PackageTransportes { • publicclassAviaoextendsMovieClip{ • } • }

  27. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Polimorfismo O polimorfismo consiste em re-escrever os métodos de uma classe da qual foi extendida. Utiliza-se a palavra dedicada override para sobrepor a função local à função existente na Super Classe.

  28. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 CLASSE DOCUMENTO

  29. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 DocumentClass– MainClass • É a classe responsável por controlar a timeline principal e o palco. • Para definir esta classe é necessário: • Definir um package; • Importar a classe MovieClip; • Extender a classe Movieclip; • Definir um construtor para a classe; A Classe do Documento (Document Class) é a classe principal de um projecto em flash. package{ importflash.display.MovieClip; publicclassMainextendsMovieClip { public function Main(){ } } }

  30. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Document Class 1. Cria um novo Documento Flash. 2. Clica no lápis , para definir a classe do documento

  31. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Document Class 3. Escreve o seguinte código no ficheiro aberto e grava-o com o nome Main.as package { importflash.display.MovieClip; publicclassMainextendsMovieClip { public function Main() { trace( “Script externo" ); } } }

  32. 25. Introdução ao ActionScript 3.0 Programação orientada a objectos em ActionScript 3.0 Referências : Programação orientada a objectos em AS3 Capitulo 5 - Adobe Systems: Programação do Adobe ActionScript 3.0 http://help.adobe.com/pt_BR/ActionScript/3.0_ProgrammingAS3/flash_as3_programming.pdf ELST,Peter ;JACOBS, Sas; YARD, Todd; Object-Oriented ActionScript 3.0 ; friendsof:Apress ; 2007 Object-oriented programming by Michelle Yaiser http://www.adobe.com/devnet/actionscript/learning.html Santos, Mário http://blog.msdevstudio.net/2008/10/30/tutorial-classes-as3-estrutura-e-compreensao/

More Related