Objetos





Conceitos sobre Objetos



  • 1. Abstração: ressaltar os aspectos essenciais de um dado objeto, descartando aspectos desnecessários



  • 2. Atributos: uma propriedade de um objeto identificada por um nome. Atributos são valores dos dados que caracterizam os objetos.Um atributo tem um valor único para um objeto



  • 3. Operação: um serviço que é requisitado a um objeto, que é parte de seu comportamento em resposta à solicitações externas. Uma operação pode ter parâmetros. De forma simples, operação é uma ação ou transformação realizada por um objeto ou sofrido por ele.



  • 4. Encapsulamento de informações:
    • Um objeto contem informações que não são acessíveis a outros objetos



  • 5. Mensagens: objetos se comunicam através de mensagens, isto é,sinais enviados de um objeto a outro, requisitante de um serviço,através da execução de uma operação pelo objeto requisitado



  • 6. Polimorfismo: várias formas, ou seja, refere-se a vários comportamentos que uma mesma operação pode assumir, assim como a capacidade de uma variável referir-se a diferentes objetos,que preenchem certas responsabilidades em função da mensagem que lhes é passada.




Exemplos



  • 1. Abstração:
    • Objeto: Aluno
    • Abstração: Visualizando o aluno como objeto de um sistema acadêmico



  • 2. Atributos:
    • Atributos: Matrícula, Nome, Data de Nascimento, Cor, Estado Civil, Identidade, Endereço, CEP, Bairro, Cidade, ...



  • 3. Operações:
    • Operações: Matricular, trancar, jubilar, solicitar empréstimo, reservar, ...




Polimorfismo


  • Propriedade segundo a qual vários métodos podem existir com o mesmo nome mas com comportamento diferente
    • Ao receber uma mensagem para efetuar uma Operação, é o objeto quem determina como a operação deve ser efetuada


  • Com o polimorfismo pode-se trabalhar com qualquer representação do objeto. Por exemplo, aluno e professor são objetos diferentes, porém ambos são pessoas, assim é possível trabalhar com os dois tipos diferentes utilizando o tipo pessoa. Claro que com as limitações de pessoa.
  • Permite que um método produza resultados diferentes dependendo do objeto ao qual é aplicado.
  • A mesma invocação pode produzir 'muitas formas' de resultados


  • Exemplos
    • O operador “+” pode ser usado com inteiros, pontos flutuantes ou strings
    • A operação mover pode atuar diferentemente nas classes Janela e PeçadeXadrez
    • A operação Calcular_Salário atua diferentemente nas classes funcionário comissionado e funcionário assalariado


Encapsulamento


Exemplo:

  • Classe: Conta
  • Atributos: Conta, Saldo, ...
  • Visibilidade: Pública
  • Método: AtualizarSaldo
    • Como o atributo Saldo esta como publico, ou seja, é acessivel de fora da classe, nada impede de algum outro programador que esteja envolvido no projeto possa executar algo como: ... Somar 1.000.000,00 ao saldo.


  • Classe: Conta
  • Atributos: Conta, Saldo, ...
  • Visibilidade: Privada
  • Método: AtualizarSaldo
    • Se alterarmos os atributos da classe para privado não haverá acesso direto ao atributo, só deixando esses acessíveis de dentro da classe. Assim será "obrigatório" o uso do método AtualizarSaldo para alterar o valor de Saldo.


Exercícios



  1. Dentro do problema desenvolvido no seu trabalho de grupo, defina:
    1. Um objeto
    2. Os atributos deste objeto
    3. As operações neste objeto
    4. Possíveis polimorfismos em cima do objeto.