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
- Permite que um método produza resultados diferentes dependendo do objeto ao qual é aplicado.
- A mesma invocação pode produzir 'muitas formas' de resultados
- 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
- 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
- Dentro do problema desenvolvido no seu trabalho de grupo, defina:
- Um objeto
- Os atributos deste objeto
- As operações neste objeto
- Possíveis polimorfismos em cima do objeto.
