Você está na página 1de 41

Introduo Orientao a Objetos

em JAVA

Clique para adicionar texto Prof. Daniel Dante


professordanieldante@gmail.com

Entendendo Orientao a Objetos

um paradigma(?) de programao

Traz a realidade para o mundo computacional

Tudo que existe um objeto

Abstrato
Concreto

Objetos interagem entre si

Como o computador vai entender o que uma pessoa?

Dentro de um sistema, um objeto pessoa troca


informaes com qualquer outro objeto, como outra
pessoa ou uma caneta!

Estilo de programao

No entendeu Orientao a Objetos?

POO um paradigma de programao que usa objetos


compostos por campos e mtodos, justamente com suas
interaes para projetar programas de computadores.

POO uma forma especial de programar, mais prximo


de como expressaramos as coisas na vida real do que
outros tipos de programao.

POO organizar o mundo real como uma coleo de


objetos que incorporam uma estrutura de dados e um
conjunto de operaes que manipulam estes dados e
trocam mensagens entre si.
3

Alguns Benefcios

Benefcios diretos

Facilidade em reutilizao do cdigo


Desenvolvedor foca num nvel mais elevado de abstrao
Melhor comunicao com os usurios do sistema

Benefcios reais

Desenvolvimento mais rpido


Sistemas mais complexos, por usar funes j prontas
Menor custo para o desenvolvimento e manuteno

Dificuldades

Complexidade no aprendizado

Tente explicar OO para um desenvolvedor COBOL


(linguagem estruturada procedural)

Conceitos de difcil entendimento

Classes

Definio:

Uma classe uma estrutura que abstrai um conjunto de


objetos com caractersticas similares.
Uma classe define o comportamento de seus objetos
atravs de mtodos e os estados possveis destes objetos
atravs de atributos

Uma classe pode ser vista como uma fbrica de objetos

uma especificao de algo que queremos que o


computador entenda

Instancindo uma classe, temos finalmente um objeto!

Entenda instncia como uma concretizao de algo abstrato

Classes Atributos

Definio:

Os atributos em POO so os elementos que definem a estrutura de uma classe, ou seja, suas caractersticas.

Podem ser entendidos basicamente como caractersticas de uma classe

Se pensarmos numa classe Aluno, teremos:

Nome
Sexo
Idade
...

Classes Atributos - Exemplos

Classes Atributos - Exemplos

Classes Constutores

Definio:

uma estrutura especial da classe, um mtodo, que tem


como objetivo definir a configurao inicial de uma
classe. utilizado quando existem atributos da classe que
so essenciais para o funcionamento do objeto, porm,
so atributos de instncia, e, assim, variam de acordo
com cada objeto

Um mtodo (ao) executado assim que o objeto


instnciado (criado para o mundo real...)

10

Classes Constutores - Exemplos

11

Classes Constutores - Exemplos

12

Classes Visibilidade

Esconde ou no informaes entre as classes

Aplicado a classes, atributos e mtodos

Definies dos tipos

+ Public Quem tem acesso classe tem acesso tambm


a qualquer membro com visibilidade public, raro ter
atributos publicos, mas comum ter mtodos pblicos
- Private O membro private no acessvel fora da
classe, a inteno que apenas quem escreve a classe
possa usar esses membros
# Protected O membro protected acessvel classe e
suas subclasses, a inteno dar acesso aos
programadores que estendero suas classes

13

Classes Visibilidade - Exemplos

14

Classes Objeto

Definio:

Objetos so instncias de classes. atravs deles que


praticamente todo o processamento ocorre em sistemas
implementados com POO.
Tudo pode ser potencialmente representado como um
objeto. Sob o ponto de vista de POO, um objeto no
muito diferente de uma varivel normal.

a instncia (concretizao) de uma classe


Armazena o estado de seus atributos e reage a
mensagens enviadas a ele
Pode ser entendida como uma varivel que armazena os
dados do objeto que est sendo trabalhado
Exemplo: Um objeto da classe Aluno poderia ser Joo,
Pedro, Isabella...
15

Mtodo

Definio:

Um mtodo uma subrotina que executada por um


objeto ao receber uma mensagem. Os mtodos
determinam o comportamento dos objetos de uma
classe.

Mtodos constituem o comportamento ou aes de um


determinado grupo de objetos

Permitem a reutilizao de software

Evitam a repetio de cdigo


16

Mtodo

Um mtodo formado por:

< modifiers > < tipo de retorno > < nome > ( < lista de
argumentos > ) < bloco >

<modifiers> : segmento que possue os diferentes


tipos de modificaes incluindo public, protected e
private
<tipo de retorno> : indica o tipo de retorno do
mtodo
<nome> : nome que identifica o mtodo
<lista de argumentos> : todos os valores que sero
passados como argumentos

17

Mtodo - Exemplos

e
ifi
d
Mo

rs

is
(v

e)
d
a
l id
i
ib

o
Tip

de

rno
o
t
re

Nome

Lista de argumentos (vazia)

18

Mtodo - Exemplos

Argumento

19

Mtodo - void

Quando um tipo de retorno declarado como void,


significa que o mtodo no retorna nenhum valor

20

Mtodo - return

Um mtodo tambm pode retornar valores

return expresso;

O tipo de retorno deve ser compatvel com o valor a ser retornado

21

Instncia

Criar um novo objeto que pode ser descrito atravs de


uma classe
Enquanto uma classe um modelo abstrato de um
objeto, uma instncia representa um objeto concreto
desta classe
Do ponto de vista computacional, a instanciao
corresponde alocao de memria para armazenar
informaes sobre um certo objeto, ou seja, reserva uma
posio de memria para guardar os valores associados
aos atributos que descrevem um objeto de uma certa
classe
Exemplo:
Aluno aluno1 = new Aluno();
22

Instncia - Exemplos

Aluno aluno1 = new Aluno(Aristarco, 89);


Aluno aluno2 = new Aluno(Aristarco, 89);
aluno1 diferente de aluno2

23

this
A palavra this usada para referenciar membros de um
objeto

24

this()
Em classes com mltiplos construtores, que realizam
tarefas semelhantes, this() pode ser usado para chamar
outro construtor local, identificado pela sua assinatura

25

Atributos Constantes
Constantes so dados que no mudam e no podem ser
alterados
O Java oferece a palavra-chave final para especificar
dados constantes

26

Sobrecarga
a possibilidade de existirem numa mesma classe vrios
mtodos com mesmo nome
Esses mtodos devem possuir assinatura diferentes
Assinatura de um mtodo: nome do mtodo e
sua lista de argumentos

27

Sobrecarga - Exemplos

28

Sobrecarga - Exemplos

29

Exemplo - Aluno
Temos uma classe Aluno, a qual depois de uma rpida
anlise, definimos alguns de seus atributos:
Nome
Idade
Sexo
Depois definimos alguns de seus comportamentos, ou
seja, mtodos:
Responder a chamada
Estudar
Lanchar
30

Exemplo - Aluno

31

Exemplo - Aluno

32

Exemplo - Carro
Vamos criar uma classe Carro. Atributos:
Cor
Modelo
Velocidade Atual
Velocidade Mxima
Agora alguns de seus comportamentos (mtodos):
Liga
Acelera
Pega Marcha
33

Exemplo - Carro

34

Exemplo - Carro

35

Exemplo - Carro
Agora vamos incluir na classe Carro o atributo motor,
porm, o motor tem caractersticas prprias mais
detalhadas. O que fazer?
Vamos criar a classe Motor.
Ter como atributos:
Potncia
Vlvulas
Motor no ter mtodos assinados

36

Exemplo - Carro

37

Exemplo - Carro
Devemos agora incluir o atributo Motor na classe Carro:

38

Exemplo - Carro

39

Exemplo - Carro
Voltemos classe TestaCarro.
Observe que o atributo motor pode ser acessado
diretamente pela instncia criada de Carro.

40

Exemplo - Carro

41

Você também pode gostar