programação orientada a objetos
Post on 24-Feb-2016
54 Views
Preview:
DESCRIPTION
TRANSCRIPT
GX10
2 - 2
012.
2 - A
ula0
1Programação Orientada a ObjetosUma breve introdução
1
GX10
2 - 2
012.
2 - A
ula0
1
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? 2
GX10
2 - 2
012.
2 - A
ula0
1
Paradigma de Programação
• Forma como o programador pensa e modela a análise de um
problema e a transfere para um programa
• Quatro Principais Paradigmas
• Funcional (Haskell, Lisp, F#)
• Imperativa (Fortran, Basic, C)
• Logica (Prolog)
• Orientada a Objetos (C++, C#, Java, Python, Ruby)
• Linguagens Multiparadigmas3
GX10
2 - 2
012.
2 - A
ula0
1
Programação Imperativa
• Instruções que alteram o estado do programa
• Descrição detalhada do procedimento
• Programação Procedural
• Reutilização de rotinas comuns (funções)
• Programação Estruturada
• Uso extensivo de subrotinas, laços condicionais e de repetição
• “Proibição” do GOTO
4
GX10
2 - 2
012.
2 - A
ula0
1
Programação OO (POO)
• Criação de modelos que representem os Objetos do problema
• Modela-se o relacionamento entre Objetos através de
mensagens
• Encoraja programador a produzir código modularizado
• Facilita o tratamento de problemas complexos
5
GX10
2 - 2
012.
2 - A
ula0
1
Ex: Pong
6
GX10
2 - 2
012.
2 - A
ula0
1
CLASSESFinalmente, o que é uma classe?
7
GX10
2 - 2
012.
2 - A
ula0
1
Classes são Moldes
• 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
8
GX10
2 - 2
012.
2 - A
ula0
1
Ex: Veiculos
9
GX10
2 - 2
012.
2 - A
ula0
1
Ex: Classe x Objeto
10
GX10
2 - 2
012.
2 - A
ula0
1
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
11
GX10
2 - 2
012.
2 - A
ula0
1
Ex: Atributos de um Carro
12
GX10
2 - 2
012.
2 - A
ula0
1
Métodos
• Metodos são o que um Objeto de uma Classe é 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
13
GX10
2 - 2
012.
2 - A
ula0
1
Ex: Métodos de um Carro
14
GX10
2 - 2
012.
2 - A
ula0
1
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
15
GX10
2 - 2
012.
2 - A
ula0
1
Ex: Objetos da Classe Carro
16
GX10
2 - 2
012.
2 - A
ula0
1
Ex: Estado Cor
17
GX10
2 - 2
012.
2 - A
ula0
1
Ex: Mudança de Estado
18
GX10
2 - 2
012.
2 - A
ula0
1
Ex: Um pouco de Código
19
GX10
2 - 2
012.
2 - A
ula0
1
Como fazer um jogo com OO?
• Não existe fórmula pronta
• Requer experiência
• Passe a pensar em objetos agora mesmo!
20
GX10
2 - 2
012.
2 - A
ula0
1
SUPER MARIO WORLDAnálise de Caso
21
GX10
2 - 2
012.
2 - A
ula0
1
Objetos: Mario e Luigi
22
GX10
2 - 2
012.
2 - A
ula0
1
Classe: Personagem
Atributos
• Cor da Roupa
• Posição
• Modo : (Pequeno,
Grande, Flor, Capa,
Estrela)
• Quantidade de Vidas
Métodos
• Andar
• Pular
• Voar
• Perder Vida
• Ganhar Vida
• Pegar Moeda23
GX10
2 - 2
012.
2 - A
ula0
1
Objetos: Fores of Illusion x
24
GX10
2 - 2
012.
2 - A
ula0
1
Classe: Fases
Atributos
• Liberado
• Terminada
• Tempo
• Posição no World Map
• Mapa da Fase
Metodos
• Libera Fase
• Termina Fase
• Reinicia Fase
25
GX10
2 - 2
012.
2 - A
ula0
1
Muito mais…
26
GX10
2 - 2
012.
2 - A
ula0
1
Duvidas?
27
GX10
2 - 2
012.
2 - A
ula0
1
Leitura Extra
• Artigo de OO na Wikipedia (de preferência em Inglês)
28
top related