programação orientada a objetos uma breve introdução gx102 - 2012.2 - aula01 1

28
Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

Upload: rosangela-machado-beppler

Post on 07-Apr-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1Programação Orientada a ObjetosUma breve introdução

1

Page 2: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 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

Page 3: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

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

Page 4: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

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

Page 5: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

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

Page 6: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Ex: Pong

6

Page 7: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

CLASSESFinalmente, o que é uma classe?

7

Page 8: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

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

Page 9: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Ex: Veiculos

9

Page 10: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Ex: Classe x Objeto

10

Page 11: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

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

Page 12: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Ex: Atributos de um Carro

12

Page 13: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

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

Page 14: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Ex: Métodos de um Carro

14

Page 15: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

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

Page 16: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Ex: Objetos da Classe Carro

16

Page 17: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Ex: Estado Cor

17

Page 18: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Ex: Mudança de Estado

18

Page 19: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Ex: Um pouco de Código

19

Page 20: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

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

Page 21: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

SUPER MARIO WORLDAnálise de Caso

21

Page 22: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Objetos: Mario e Luigi

22

Page 23: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

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

Page 24: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Objetos: Fores of Illusion x

24

Page 25: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

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

Page 26: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Muito mais…

26

Page 27: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Duvidas?

27

Page 28: Programação Orientada a Objetos Uma breve introdução GX102 - 2012.2 - Aula01 1

GX10

2 - 2

012.

2 - A

ula0

1

Leitura Extra

• Artigo de OO na Wikipedia (de preferência em Inglês)

28