PROGRAMAÇÃO
ORIENTADA A OBJETOS
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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.
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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.
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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.
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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!
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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.
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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.
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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!!!!
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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.
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
Construtores
• Construtor vazio:
– É um método sem parâmetros algum
• Construtor parametrizado:
– É um método que contém parâmetros em sua
assinatura
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
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
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
Vantagens da POO
• Natural
• Confiável
• Reutilizável
• Manutenível
• Extensível
• Oportunos
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016
Referências
03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto
DesenvolvimentodeSoftwarepareaWeb2016

Programação Orientada a Objetos parte 1

  • 1.
  • 2.
    OBJETO • Uma entidadeque 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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 3.
    Classes • Define osatributos 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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 4.
    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. 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 5.
    Mensagem • Comunicação entreobjetos. • 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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 6.
    Métodos • Implementam umaoperaçã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. 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 7.
    Métodos Acessores • MétodosGET 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. 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 8.
    Métodos Mutantes • MétodosSET 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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 9.
    Métodos • Exemplo: umaclasse 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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 10.
    Métodos • Métodos sãocomo 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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 11.
    Métodos • Dê umnome 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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 12.
    Métodos • Um métodocom 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! 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 13.
    Métodos • Métodos podemexigir 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. 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 14.
    Métodos • Retorno demé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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 15.
    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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 16.
    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. 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 17.
    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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 18.
    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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 19.
    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!!!! 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 20.
    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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 21.
    Construtores • São métodosusados 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. 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 22.
    Construtores • Construtores nãoprecisam 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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 23.
    Construtores • Construtor vazio: –É um método sem parâmetros algum • Construtor parametrizado: – É um método que contém parâmetros em sua assinatura 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 24.
    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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 25.
    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 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 26.
    Vantagens da POO •Natural • Confiável • Reutilizável • Manutenível • Extensível • Oportunos 03/06/2016Prof.ªM.ªEng.ªElaineCecíliaGatto DesenvolvimentodeSoftwarepareaWeb2016
  • 27.