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
- 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
- Uma bola de futebol e uma camisa da seleção brasileira são artigos esportivos, mais que o cálculo deles em uma venda é calculado de formas diferentes.
- Uma classe chamada Vendedor e outra chamada Diretor podem ter como base uma classe chamada Pessoa, com um método chamado CalcularVendas. Se este método (definido na classe base) se comportar de maneira diferente para as chamadas feitas a partir de uma instância de Vendedor e para as chamadas feitas a partir de uma instância de Diretor, ele será considerado um método polimórfico, ou seja, um método de várias formas.
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.

