java
Material retirado deo livro “Objects First with JAVA”
(adaptado por Delfina de Sá Soares)
Objetos e classes
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
Conceito de objeto e de classe
Criar objetos
Invocar métodos
Parâmetros
Tipos de dados
Múltiplas instâncias
Atributos/Campos/Variáveis de instância
Estado de um objeto ou sistema
O que é um objeto
Interação entre objetos
Referência para objetos
Alocação de memória
Destruição de objetos
Código fonte da classe
Valores de retorno e instrução return
Objetos como parâmetros
Imagens retiradas de http://cocoate.com/jdev/oop
Problema
A Marta quer enviar flores aos seus pais, que vivem em
Coimbra, no dia do seu aniversário de casamento
1ª Solução
Marta
Guimarães
Ir lá!!!
Coimbra
2ª Solução
Procurar um agente apropriado (florista Maria) e enviar-lhe uma mensagem com o pedido
Maria é responsável pela execução do meu pedido
Maria utilizará um método, um procedimento operacional, para satisfazer o meu pedido!
A Marta não precisa, nem quer, conhecer esse procedimento!!!
(isso está encapsulado, está escondido - information hiding...)
Marta
Guimarães
Florista Maria
(Guimarães)
Coimbra
Contudo, se eu investigar descubro como é que a florista Maria faz...
A Maria envia uma mensagem a outra florista (Ana) de Coimbra
Por sua vez a Ana prepara as flores e envia uma mensagem a um estafeta
Florista Maria
(Guimarães)
Marta
Guimarães
Florista Ana
(Coimbra)
Coimbra
Estafeta
(Coimbra)
Isto é o que se passa na POO...
• Em POO toda a ação é iniciada pelo envio de uma mensagem a um objeto
(agente), o qual é responsável pela execução do pedido associado à mensagem • Uma mensagem codifica um pedido e vai acompanhada de informação adicional (argumentos)
• O objeto receptor utiliza um método para executar a mensagem
Em vez de ter enviado a mensagem à florista Maria, a Marta podia ter enviado a mesma mensagem