A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 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 FORMADOR Gonçalo Miguel MÓDULO 25. 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 Programação orientada a objectos em ActionScript 3.0 25. Introdução ao 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. 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 Tarefas típicas na programação orientada a objectos

4 25. Introdução ao ActionScript 3.0 package com.example.quickstart { import flash.display.MovieClip; public class Greeter { // ------- Método Construtor ------- public function Greeter(initialName:String = "") { name = initialName; } // ------- Propriedades ------- public var name:String; // ------- Métodos ------- public function sayHello():String { return Hi; } Definição da Classe

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

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

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

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

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

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

11 Programação orientada a objectos em ActionScript 3.0 25. Introdução ao ActionScript 3.0 //Declaração de package package transportes{ //Declaração de Classe public class 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 Programação orientada a objectos em ActionScript 3.0 Método Construtor 25. Introdução ao ActionScript 3.0

13 Programação orientada a objectos em ActionScript 3.0 25. Introdução ao 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 = new Array(); var meuArray:Array = new Array(12,23);

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

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

16 Programação orientada a objectos em ActionScript 3.0 25. Introdução ao ActionScript 3.0 Controlo de Acesso: Variáveis e funções keywordAcesso publicDisponivel para todas as chamadas private Só disponivel para a classe que a declara protected Disponivel para a classe que a declara e para todas as subclasses internal Disponivel para todas as classes do mesmo package

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

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

19 Programação orientada a objectos em ActionScript 3.0 25. Introdução ao 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{ public class Carro { private var combustivel:Number; public function get combustivel():Number { return combustivel; } public function set combustivel(comb:Number):void { combustivel = comb; } …

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

21 Programação orientada a objectos em ActionScript 3.0 25. Introdução ao 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 Programação orientada a objectos em ActionScript 3.0 25. Introdução ao ActionScript 3.0 Package Transportes { public class Aviao { } 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 Programação orientada a objectos em ActionScript 3.0 25. Introdução ao 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 {.. } } import Button; import mx.controls.Button;

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

25 Programação orientada a objectos em ActionScript 3.0 25. Introdução ao ActionScript 3.0 Extensão e Hierarquia de classes http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/MovieClip.html Packageflash.display Classpublic dynamic class MovieClip InheritanceMovieClip Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher ObjectSpriteDisplayObjectContainerInteractiveObject DisplayObjectEventDispatcherObject SubclassesFlexMovieClipFlexMovieClip, GravityBootstrap, LivePreviewParent, System Manager, UIMovieClip, WindowedSystemManagerGravityBootstrapLivePreviewParentSystem ManagerUIMovieClipWindowedSystemManager

26 Programação orientada a objectos em ActionScript 3.0 25. Introdução ao 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…) Package Transportes { public class Aviao extends MovieClip { }

27 Programação orientada a objectos em ActionScript 3.0 25. Introdução ao 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 Programação orientada a objectos em ActionScript 3.0 25. Introdução ao ActionScript 3.0 CLASSE DOCUMENTO

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

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

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

32 Programação orientada a objectos em ActionScript 3.0 25. Introdução ao 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_programmin g.pdf http://help.adobe.com/pt_BR/ActionScript/3.0_ProgrammingAS3/flash_as3_programmin g.pdf ELST,Peter ELST,Peter ;JACOBS, Sas; YARD, Todd; Object-Oriented ActionScript 3.0 ; friendsof:Apress ; 2007 Object-oriented programming by Michelle YaiserMichelle 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/


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google