GX102 - 2012.2 - Aula01
Programação
Orientada a Objetos
Uma breve introdução
1
Overview
• Orientação a Objetos (OO) é um Paradigma de Programação
• Classes
• Anatomia de Classes
• Atributos
• Métodos
GX102 - 2012.2 - Aula01
• Programação Imperativa X Programação Orientada a Objetos
• Objetos
• Como eu faço um jogo com isso?
2
Paradigma de Programação
• Forma como o programador pensa e modela a análise de um
problema e a transfere para um programa
• Funcional (Haskell, Lisp, F#)
• Imperativa (Fortran, Basic, C)
• Logica (Prolog)
GX102 - 2012.2 - Aula01
• Quatro Principais Paradigmas
• Orientada a Objetos (C++, C#, Java, Python, Ruby)
• Linguagens Multiparadigmas
3
Programação Imperativa
• Instruções que alteram o estado do programa
• Programação Procedural
• Reutilização de rotinas comuns (funções)
• Programação Estruturada
• Uso extensivo de subrotinas, laços condicionais e de repetição
GX102 - 2012.2 - Aula01
• Descrição detalhada do procedimento
• “Proibição” do GOTO
4
Programação OO (POO)
• Criação de modelos que representem os Objetos do problema
mensagens
• Encoraja programador a produzir código modularizado
• Facilita o tratamento de problemas complexos
GX102 - 2012.2 - Aula01
• Modela-se o relacionamento entre Objetos através de
5
GX102 - 2012.2 - Aula01
Ex: Pong
6
GX102 - 2012.2 - Aula01
Finalmente, o que é uma classe?
CLASSES
7
Classes são Moldes
• Classes são definições de tipos de Objetos
• Representam a coletividade dos Objetos
• É uma espécie de struct que guarda variaveis e funções
GX102 - 2012.2 - Aula01
• Classes são definidas pelos seus atributos e métodos
8
GX102 - 2012.2 - Aula01
Ex: Veiculos
9
GX102 - 2012.2 - Aula01
Ex: Classe x Objeto
10
Atributos
• Definem as características comuns a todos os Objetos de uma
mesma Classe
de um Objeto da Classe
GX102 - 2012.2 - Aula01
• São implementados através de variáveis que armazenam o Estado
11
GX102 - 2012.2 - Aula01
Ex: Atributos de um Carro
12
Métodos
• Metodos são o que um Objeto de uma Classe é capaz de fazer
• 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
GX102 - 2012.2 - Aula01
• Representam as interações entre Objetos
função deste método
13
GX102 - 2012.2 - Aula01
Ex: Métodos de um Carro
14
Objetos
• Objetos nada mais são do que as instâncias de uma classe
• Representam uma individualidade
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
• Objetos pertencentes a uma mesma classe possuem o mesmo
15
GX102 - 2012.2 - Aula01
Ex: Objetos da Classe Carro
16
GX102 - 2012.2 - Aula01
Ex: Estado Cor
17
GX102 - 2012.2 - Aula01
Ex: Mudança de Estado
18
GX102 - 2012.2 - Aula01
Ex: Um pouco de Código
19
Como fazer um jogo com OO?
• Não existe fórmula pronta
• Passe a pensar em objetos agora mesmo!
GX102 - 2012.2 - Aula01
• Requer experiência
20
GX102 - 2012.2 - Aula01
Análise de Caso
SUPER MARIO WORLD
21
GX102 - 2012.2 - Aula01
Objetos: Mario e Luigi
22
Classe: Personagem
Métodos
• Cor da Roupa
• Andar
• Posição
• Pular
• Modo : (Pequeno,
• Voar
Grande, Flor, Capa,
• Perder Vida
Estrela)
• Ganhar Vida
• Quantidade de Vidas
• Pegar Moeda
GX102 - 2012.2 - Aula01
Atributos
23
GX102 - 2012.2 - Aula01
Objetos: Fores of Illusion x
24
Classe: Fases
Metodos
• Liberado
• Libera Fase
• Terminada
• Termina Fase
• Tempo
• Reinicia Fase
• Posição no World Map
GX102 - 2012.2 - Aula01
Atributos
• Mapa da Fase
25
GX102 - 2012.2 - Aula01
Muito mais…
26
GX102 - 2012.2 - Aula01
Duvidas?
27
Leitura Extra
GX102 - 2012.2 - Aula01
• Artigo de OO na Wikipedia (de preferência em Inglês)
28
Download

Programação Orientada a Objetos