Vous êtes sur la page 1sur 28

CENTRO UNIVERSITRIO DE JOO PESSOA

COORDENAO DE CINCIAS DA COMPUTAO

Princpios de Orientao a
Objetos
Jefferson Ferreira Barbosa
jeffersonjpa@gmail.com

Joo Pessoa
2014

At aqui...
Histrico e fundamentos da linguagem
Java
CaractersBcas da linguagem Java
Ambiente de programao
E t a p a s : e d i o , c o m p i l a o ,
interpretao e execuo de programas
em Java
Hoje: Princpios de Orientao a Objetos
Construtores e sobrecarga

Tcnicas de Programao
Tradicionais
Decompe o sistema em partes menores
(funes), criando um emaranhado de inmeras
funes que chamam umas s outras
Geralmente no h separao de conceitos e
responsabilidades causando:
Dependncias enormes no sistema
Dificulta futuras manutenes no cdigo do
programa.
No existe muito reaproveitamento de cdigo
The image cannot be displayed. Your computer may not have enough memory to open the
image, or the image may have been corrupted. Restart your computer, and then open the file
again. If the red x still appears, you may have to delete the image and then insert it again.

Programao Orientada a
Objetos
um paradigma de programao que
imita como os objetos interagem no
mundo real;
P e r m i t e c r i a r p r o g r a m a s
componentizados , separando as
partes do sistema por responsabilidades;
Tais partes se comunicam entre si por
meio de mensagens , onde estas
fornecem e consomem servios;
Essas partes so chamadas de objetos.

Benefcios da O.O.

Aumento de produtividade
Reuso de cdigo
Reduo das linhas de cdigo
Separao de responsabilidades
Componentizao
Maior flexibilidade do sistema
Escalabilidade
Facilidade na manuteno

Analogia - Objetos
Imagine uma fbrica de celular
C a d a c e l u l a r f a b r i c a d o p o s s u i u m
complexo mecanismo de funcionamento,
que igual para todos;
Entretanto, apesar de serem iguais, so
nicos!

Conceito de Objeto
O que so objetos?
Uma entidade capaz de reter um estado
atravs de propriedades(atributos) e que
oferece uma srie de operaes
(comportamentos/mtodos) para visualizar ou
modificar seu estado.

Um objeto deve possuir:


Um estado
Um comportamento
Uma identidade
Uma interface

Exemplo de Objeto
Celular
Identificao
Cdigo: 1234

Interface
Assinatura dos mtodos

Outras propriedades
Largura: 3cm
Cor: Azul

Comportamento
Ligar
Desligar
Efetuar chamadas

Conceito de Classe
Uma classe uma descrio de um grupo
de objetos com propriedades
semelhantes, mesmo comportamento,
mesmos relacionamentos com outros
objetos, mesma semntica.
Um objeto uma instncia de uma
classe!
Exemplo de classe:
Todo celular tem placa, cor, peso, tela (atributos).
Todo celular efetua chamada (comportamento)
Os atributos e comportamentos formam uma classe

Conceito de Atributo
O estado de um objeto dado por valores de
atributos e por ligaes que possuem com outros
objetos
Todos os objetos de uma mesma classe possuem
os mesmos atributos (variveis de instncia),
porm os valores desses atributos podem ser
diferentes.
Tais valores diferenciam um objeto de outro,
sendo que ambos pertencem a uma mesma
classe

Conceito de Mtodos
O comportamento de um objeto so os seus
mtodos (semelhantes a funes)
uma forma de pedir que um objeto faa algo
Mtodos so definidos ao nvel de classe, enquanto
que a invocao de uma operao definida ao
nvel de objeto
Objetos de uma mesma classe possuem os
mesmos mtodos.
Exemplo de mtodos de um celular
Ligar
Desligar
Receber chamadas

Analogia - Objetos
Objeto
Nome da classe
Atributos
Interface
Mtodos

Exerccio 1
C r i e u m p r o j e t o n o e c l i p s e
denominado FabricaCelular
Crie a classe Celular e defina os
atributos e mtodos vistos no slide
anterior.

Como executar
aplicaes
Uma classe pode definir um mtodo
main;
o mtodo responsvel pela execuo da
aplicao;
Uma aplicao pode conter vrios
mtodos main (um em cada classe),
mas apenas um desses ser definido
como o mtodo da aplicao;

Assinatura de main
Ponto de incio de toda aplicao
Java.
public static void main(String [] args){
}

Exemplo do HelloWorld

Como criar e acessar


objetos?
Para criar, use o operador new
Para acessar atributos e mtodos, utilize o
. (ponto)
Exemplo

Exerccio 2
No projeto FabricaCelular crie uma
classe chamada Principal.
Nesta classe, crie um mtodo main.
Dentro do main, crie uma instncia
de sua classe Celular
Acesse e imprima seus atributos no
console

Relacionamentos entre
objetos
A POO define que podemos montar objetos a
partir de objetos
Essa unio acontece de duas formas:
Agregao
Relacionamento fraco

Composio
Relacionamento forte

Herana

Ambos agregao e composio so conhecidos


como relacionamentos TEM UM
Herana um tipo de relacionamento UM

Relacionamentos TEM
UM
Agregao
Um objeto O1 definido pela
agregao de alguns outros objetos;
Se o objeto O1 for destrudo, os
objetos nele contidos ainda sero
vlidos;
Ou seja, existe uma dependncia
fraca entre o objeto O1 e seus
objetos contidos.

Relacionamento TEM UM

Exemplo de Agregao

Relacionamentos TEM
UM
Composio
Um objeto O1 definido pela
composio de alguns outros objetos;
Se o objeto O1 for destrudo, todos os
objetos nele contidos sero tambm
destrudos;
Ou seja, existe uma dependncia
forte entre o objeto O1 e seus
objetos contidos.

Relacionamento TEM UM

Exemplo de composio

Atributo

Lmpada
- EstadoDaLampada
+ acende()
+ apaga ()
+ mostrarEstado ()

Mtodos
Orientao Objetos

24

E em java?
Classe Lmpada:

Palavra reservada class seguida do


nome da classe
Parmetro, conjunto de caracter
A declarao de mtodo
possui respecBvamente:
O modicador de acesso
O Bpo de retorno
Nome do mtodo
Lista de parmetros
para recebimento
(Bpo, nome)

Orientao Objetos

25

E em java?
Instanciando Objetos

Para instanciar um objeto,


necessrio informar a Classe a
que este pertence, designar
um nome para ele, e uBlizar a
palavra reservada new antes
da chamada do mtodo
construtor
responsvel por iniciar os
parmetros (caractersBcas)
do novo objeto.

Para acessar, ou realizar


uma chamada, de um
mtodo ou parmetro
uBlizado o ponto (.)
seguido do nome do
mtodo

Orientao Objetos

26

Exerccio 3
Crie uma classe Conta
atributos (numero e saldo);
mtodos (creditar, debitar, getSaldo,
getNumero);

Orientao Objetos

27

Dvidas?

Vous aimerez peut-être aussi