330 likes | 662 Views
Programação Orientada a Objetos. Uma breve introdução. Overview. Orientação a Objetos (OO) é um Paradigma de Programação Programação Imperativa X Programação Orientada a Objetos Classes Anatomia de Classes Atributos Métodos Objetos Como eu faço um jogo com isso ?.
E N D
ProgramaçãoOrientada a Objetos GX102 - 2012.2 - Aula01 Uma breveintrodução
Overview • Orientaçãoa Objetos (OO) é um Paradigma de Programação • ProgramaçãoImperativa X ProgramaçãoOrientada a Objetos • Classes • Anatomia de Classes • Atributos • Métodos • Objetos • Como eufaço um jogo com isso? GX102 - 2012.2 - Aula01
Paradigma de Programação • Forma como o programador pensa e modela a análise de um problema e a transfere para um programa • QuatroPrincipaisParadigmas • Funcional (Haskell, Lisp, F#) • Imperativa(Fortran, Basic, C) • Logica (Prolog) • Orientada a Objetos (C++, C#, Java, Python, Ruby) • LinguagensMultiparadigmas GX102 - 2012.2 - Aula01
ProgramaçãoImperativa • Instruçõesquealteram o estado do programa • Descriçãodetalhada do procedimento • Programação Procedural • Reutilização de rotinascomuns (funções) • ProgramaçãoEstruturada • Usoextensivo de subrotinas, laçoscondicionais e de repetição • “Proibição” do GOTO GX102 - 2012.2 - Aula01
Programação OO (POO) • Criação de modelosquerepresentemosObjetos do problema • Modela-se o relacionamentoentre Objetosatravés de mensagens • Encoraja programador a produzir código modularizado • Facilita o tratamento de problemas complexos GX102 - 2012.2 - Aula01
Ex: Pong GX102 - 2012.2 - Aula01
Finalmente, o que é umaclasse? GX102 - 2012.2 - Aula01 Classes
Classes sãoMoldes • Classes são definições de tipos de Objetos • Representam a coletividade dos Objetos • Classes são definidas pelos seus atributos e métodos • É uma espécie de struct que guarda variaveis e funções GX102 - 2012.2 - Aula01
Ex: Veiculos GX102 - 2012.2 - Aula01
Ex: Classe x Objeto GX102 - 2012.2 - Aula01
Atributos • Definem as características comuns a todos os Objetos de uma mesma Classe • São implementados através de variáveis que armazenam o Estado de um Objeto da Classe GX102 - 2012.2 - Aula01
Ex: Atributos de um Carro GX102 - 2012.2 - Aula01
Métodos • Metodossão o que um Objeto de umaClasse é capaz de fazer • Representam as interações entre Objetos • Métodos são como funções acopladas em uma Classe • Métodos são como funções. Cada classe conhece os seus métodos. • Métodos também são chamados de “Mensagens” • Mandar uma mensagem para um objeto é equivalente à chamar a função deste método GX102 - 2012.2 - Aula01
Ex: Métodos de um Carro GX102 - 2012.2 - Aula01
Objetos • Objetos nada mais são do que as instâncias de uma classe • Representam uma individualidade • Objetos pertencentes a uma mesma classe possuem o mesmo conjunto de atributos, diferenciando-se um dos outros apenas pelos valores que estes atributos contêm. • Os valores dos atributos de um Objeto definem o Estado deste GX102 - 2012.2 - Aula01
Ex: Objetos da ClasseCarro GX102 - 2012.2 - Aula01
Ex: Estado Cor GX102 - 2012.2 - Aula01
Ex: Mudança de Estado GX102 - 2012.2 - Aula01
Ex: Um pouco de Código GX102 - 2012.2 - Aula01
Como fazer um jogo com OO? • Nãoexistefórmulapronta • Requerexperiência • Passe a pensaremobjetos agora mesmo! GX102 - 2012.2 - Aula01
Análise de Caso GX102 - 2012.2 - Aula01 Super Mario World
Objetos: Mario e Luigi GX102 - 2012.2 - Aula01
Classe: Personagem Atributos Métodos Andar Pular Voar Perder Vida Ganhar Vida PegarMoeda • Cor da Roupa • Posição • Modo : (Pequeno, Grande, Flor, Capa, Estrela) • Quantidade de Vidas GX102 - 2012.2 - Aula01
Objetos: Fores of Illusion x GX102 - 2012.2 - Aula01
Classe: Fases Atributos Metodos LiberaFase TerminaFase ReiniciaFase • Liberado • Terminada • Tempo • Posição no World Map • Mapa da Fase GX102 - 2012.2 - Aula01
Muitomais… GX102 - 2012.2 - Aula01
Duvidas? GX102 - 2012.2 - Aula01
Leitura Extra • Artigo de OO na Wikipedia (de preferênciaemInglês) GX102 - 2012.2 - Aula01