Académique Documents
Professionnel Documents
Culture Documents
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.
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
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
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:
Orientao Objetos
25
E
em
java?
Instanciando
Objetos
Orientao Objetos
26
Exerccio
3
Crie
uma
classe
Conta
atributos
(numero
e
saldo);
mtodos
(creditar,
debitar,
getSaldo,
getNumero);
Orientao Objetos
27
Dvidas?