01/05/2023
PROGRAMAÇÃO ORIENTADA A OBJETOS
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
OBJETO• Uma entidade que possui características e
comportamentos
• É uma construção de software que encapsula estado e comportamento.
• Os objetos permitem que você modelo seu software em termos reais
• Objetos são agrupados pelos seus comportamentos e atributos comuns
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Classes• Define os atributos e
comportamentos comuns compartilhados por um tipo de objeto.
• Os objetos de certo tipo ou classificação compartilham os mesmos comportamentos e atributos.
• Uma classe é usada para instanciar (ou criar) objetos
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Atributos e Comportamentos
• ATRIBUTOS:– São características de uma classe visíveis
externamente– Exemplo: cor dos olhos, cor dos cabelos,
etc.
• COMPORTAMENTOS: – É uma ação executada por um objeto
quando passada uma mensagem ou em resposta a uma mudança de estado: é algo que um objeto faz.
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Mensagem• Comunicação entre objetos. • Humanos trocam mensagens entre si• Os objetos fazem o mesmo.• Exemplo: um objeto conta bancária
pode receber uma mensagem para reduzir seu saldo
• Uma mensagem pode ser enviada por um método
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Métodos• Implementam uma operação/função;• Realizam uma tarefa em um programa
(classe)• Descrevem os mecanismos que
realmente realizam suas tarefas• Uma classe abriga um ou mais métodos• EXEMPLO: Métodos SET/GET são
comportamentos da classe que retornam ou configuram atributos.
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Métodos Acessores• Métodos GET são também chamados de
métodos assessores.• Dão acesso aos dados internos de um
objeto• Ocultam o fato de os dados estarem em
uma variável, em uma combinação de variáveis ou serem calculados
• Permitem que você mude ou recupere o valor e tem efeitos colaterais sobre o estado interno.
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Métodos Mutantes• Métodos SET são também chamados de
métodos mutantes.• Permitem que você altere o estado
interno de um objeto• Pode processar sua entrada como
quiser, antes de alterar o estado interno do objeto
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Métodos• Exemplo: uma classe que representa
uma conta bancária poderia contar com um método para depósitos, outro para saques e outro para obter o saldo
• Antes de qualquer coisa, o programador deve construir um objeto de uma classe antes de fazer um programa realizar as tarefas descritas na própria classe
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Métodos• Métodos são como funções ou procedimentos• Permitem que o programador modularize um
programa, separando suas tarefas em unidades
• Tornam os programas mais gerenciáveis• Permite reutilização de código• Um pequeno método que realiza uma única
tarefa é mais fácil de testar e depurar do que um método maior que realiza muitas tarefas
• Limite o seu método à realização de uma única tarefa
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Métodos• Dê um nome apropriado ao seu
método, que expresse o que ele realmente faz
• Um método é invocado por uma chamada de método
• Quando o método chamado completa sua tarefa, ele retorna um resultado ou retorna o controle ao chamador
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Métodos• Um método com muitos parâmetros
pode estar realizando tarefas demais
• Considere dividir o método em métodos menores que realizam tarefas separadas
• Um tipo de dado é requerido para cada parâmetro na lista de parâmetros de um método!
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Métodos• Métodos podem exigir um ou mais
parâmetros que representam informações adicionais necessárias para realizar a tarefa
• Ao declarar um método você deve especificar se o método requer dados para realizar a sua tarefa, ou não.
• O método pode ter uma lista de parâmetros. Nenhum, apenas um ou vários.
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Métodos• Retorno de método: quando um método
tem um tipo, ao completar sua tarefa, o método retorna, ao método chamador, um resultado
• Cliente de um objeto: é qualquer objeto que chama os métodos de outro objeto
• Todo parâmetro deve especificar um tipo e um identificador
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Chamada de Métodos• Quando mensagens são enviadas para um objeto• Instrui o método do objeto a fazer a sua tarefa• Um objeto tem atributos que são portados com o
objeto quando ele é utilizado em um programa• Exemplo: cada objeto conta bancária sabe o
saldo da conta que ele representa, mas não sabe os saldos de outras contas do banco
• Não podemos chamar um método que pertence a outra classe até criar um objeto dessa classe
• Cada nova classe que criamos, torna-se um novo tipo em Java
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Chamada de Métodos• New: • Cria um objeto da classe• Cada nova instância é uma duplicata da
ultima• Uma vez instanciada, a instancia transporta
comportamentos e controla seu estado• Embora o estado possa variar com o passar
do tempo, a instancia ainda é um objeto• Exemplo: um mamífero de cor cinza é tão
mamífero quanto outro de cor marrom.
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Chamda de Métodos• Três formas de chamar um método.
Exemplos:
– MaiorValor(n1, n2, n3); o próprio nome do método
– MaiorValor.determineMaximo(); uma variável que contém uma referência a um objeto
– Math.sqrt(); o nome da classe
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Sobrecarga de Métodos• Métodos com o mesmo nome podem ser
declarados na mesma classe, contanto que tenham diferentes conjuntos de parâmetros
• É usada para criar vários métodos com o mesmo nome que realizam as mesmas tarefas ou tarefas semelhantes mas sobre tipos diferentes de números ou números diferentes de argumentos
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Sobrecarga de Métodos• O compilador distingue os métodos
sobrecarregados pelas suas assinaturas
• Distingue pelo nome do método, número do método, tipos dos parâmetros e ordem dos parâmetros
• Void metodo1(int a, float b) e void metodo1(float a, int b) são diferentes!!!!
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Sobrecarga de Métodos• Declarações de métodos sobrecarregados
com assinaturas idênticas causam erros mesmo que os tipos de retorno sejam diferentes
• O tipo de retorno então não diferenciam os métodos!
• Uso da palavra OVERRIDE
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Construtores• São métodos usados para inicializar objetos.• É utilizado para inicializar um objeto de uma
classe• Java requer uma chamada de construtor
para todo objeto que é criado• NEW: chama o construtor da classe para
realizar a inicialização• O compilador JAVA fornece um construtor-
padrão sem parâmetros em qualquer classe que não inclua explicitamente um construtor.
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Construtores• Construtores não precisam de TIPO em sua
assinatura, diferentemente dos MÉTODOS.• Um construtor deve ter o mesmo nome da
sua classe• Uma classe pode ter vários métodos
construtores• Construtores NÃO podem retornar valores• Se o programador especificar um
construtor para a classe, o JAVA não criará um construtor-padrão
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Construtores• Construtor vazio:– É um método sem parâmetros algum
• Construtor parametrizado:– É um método que contém parâmetros
em sua assinatura
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Relacionamentos de Objeto
• Objetos se comunicam uns com os outros através de mensagens
• As mensagens fazem com que um objeto realize algo
• Passar uma mensagem é o mesmo que chamar um método para mudar o estado do objeto ou para exercer um comportamento
• Mensagens permitem que os objetos permaneçam independentes
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Relacionamentos de Objeto
• Quando um objeto envia uma mensagem para outro, geralmente ele não se preocupa coma maneira como o objeto escolhe transportar o comportamento solicitado
• O objeto solicitante se preocupa apenas que o comportamento aconteça
• Um objeto pode conter outros objetos dentro dele
Prof.ª M.ª Eng.ª Elaine Cecília Gatto
Desenvolvimento de Softw
are parea Web 2016
01/05/2023
Vantagens da POO• Natural • Confiável• Reutilizável• Manutenível• Extensível• Oportunos Prof.ª M
.ª Eng.ª Elaine Cecília GattoDesenvolvim
ento de Software parea W
eb 2016
01/05/2023
ReferênciasProf.ª M
.ª Eng.ª Elaine Cecília GattoDesenvolvim
ento de Software parea W
eb 2016
Top Related