27
PROGRAMAÇÃO ORIENTADA A OBJETOS 0 2 / 0 1 / 2 0 2 2 P r o f . ª M . ª E n g . ª E l a i n e C e c í l i a G a t t o D e s e n v o l v i m e n t o d e S o f t w a r e p a r e a W e b 2 0 1 6

Programação Orientada a Objetos parte 1

Embed Size (px)

Citation preview

Page 1: Programação Orientada a Objetos parte 1

01/05/2023

PROGRAMAÇÃO ORIENTADA A OBJETOS

Prof.ª M.ª Eng.ª Elaine Cecília Gatto

Desenvolvimento de Softw

are parea Web 2016

Page 2: Programação Orientada a Objetos parte 1

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

Page 3: Programação Orientada a Objetos parte 1

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

Page 4: Programação Orientada a Objetos parte 1

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

Page 5: Programação Orientada a Objetos parte 1

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

Page 6: Programação Orientada a Objetos parte 1

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

Page 7: Programação Orientada a Objetos parte 1

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

Page 8: Programação Orientada a Objetos parte 1

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

Page 9: Programação Orientada a Objetos parte 1

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

Page 10: Programação Orientada a Objetos parte 1

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

Page 11: Programação Orientada a Objetos parte 1

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

Page 12: Programação Orientada a Objetos parte 1

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

Page 13: Programação Orientada a Objetos parte 1

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

Page 14: Programação Orientada a Objetos parte 1

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

Page 15: Programação Orientada a Objetos parte 1

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

Page 16: Programação Orientada a Objetos parte 1

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

Page 17: Programação Orientada a Objetos parte 1

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

Page 18: Programação Orientada a Objetos parte 1

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

Page 19: Programação Orientada a Objetos parte 1

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

Page 20: Programação Orientada a Objetos parte 1

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

Page 21: Programação Orientada a Objetos parte 1

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

Page 22: Programação Orientada a Objetos parte 1

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

Page 23: Programação Orientada a Objetos parte 1

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

Page 24: Programação Orientada a Objetos parte 1

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

Page 25: Programação Orientada a Objetos parte 1

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

Page 26: Programação Orientada a Objetos parte 1

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

Page 27: Programação Orientada a Objetos parte 1

01/05/2023

ReferênciasProf.ª M

.ª Eng.ª Elaine Cecília GattoDesenvolvim

ento de Software parea W

eb 2016