Post on 18-Dec-2015
description
Princpios de Orientao a Objetos
Jefferson Ferreira Barbosa jeffersonjpa@gmail.com
Joo Pessoa 2014
CENTRO UNIVERSITRIO DE JOO PESSOA COORDENAO DE CINCIAS DA COMPUTAO
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 2
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 Cada celular fabricado possui um
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 o f e r e c e u m a s r i e d e o p e r a e s (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
d e o b j e t o s c o m p r o p r i e d a d e s 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
Mtodos
Atributos
Nome da classe
Interface
Exerccio 1 Cr i e um p ro j e t o no e c l i p se
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
Lmpada
- EstadoDaLampada
+ acende()
+ apaga ()
+ mostrarEstado ()
24
Atributo
Mtodos Orientao Objetos
E em java?
Classe Lmpada:
25 Orientao Objetos
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)
E em java?
Instanciando Objetos
26 Orientao 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
Exerccio 3
Crie uma classe Conta atributos (numero e saldo); mtodos (creditar, debitar, getSaldo, getNumero);
Orientao Objetos 27
Dvidas?