sábado, 16 de março de 2013

CONCEITOS E PRINCIPIOS DA ORIENTACAO A OBJETOS

CONCEITOS / PRINCÍPIOS DA ORIENTAÇÃO DE OBJETOS

Se acaso lhe perguntassem quais são os conceitos, princípios da orientação a objetos, você saberia responder?
Saberia explicar com exatidão por exemplo, o que é Classe ou Encapsulamento?
Esta é uma resposta que todo programador  ou documentador de grandes sistemas deve saber responder.
Várias linguagens utilizam o conceito de objetos, algumas das mais famosas, Java e C#, se valem dos mesmos conceitos e mesmos principios.

CONCEITOS O.O -> Classe, Objeto e Mensagem.
PRINCÍPIOS O.O -> Encapsulamento, Herança, Polimorfismo, Associação.

Vou começar a explicar minuciosamente cada um destes conceitos, principios:

CLASSE -> Entenda como uma fôrma para fazer objetos. Nela se define os comportamentos (métodos). O que seria esta fôrma para fazer objetos, ou melhor dizendo, instanciar objetos? Vou usar um exemplo: Imagine um hospital. Entenda o hospital como um sistema. O que encontramos no hospital? Certamente, você deverá ter pensado primeiramente em médicos, pacientes, enfermeiros. Neste hospital é certo que se tenha vários médicos ( não pense num hospital público, por favor), vários enfermeiros e vários pacientes.
Quando visualizamos o hospital como um sistema, médico pode ser entendido como uma classe e realmente é, paciente também pode ser definido como classe e enfermeiro também. 
A classe agrupa objetos de parecidas caracteristicas . O médico pode ser um homem ou uma mulher, pode ser o João, a Camila, o Sandro e eles podem ser ortopedistas, pediatras, obstetras. Não interessa, são médicos !!! O que muda é o nome, a especialização e alguns outros atributos. Terão o mesmo comportamento: Farão consultas, cirurgias, solicitarão exames, etc.
No nosso hospital, MÉDICO é um exemplo de CLASSE.

OBJETO -> Preferi explicar este conceito após a classe, pois ao meu ver fica mais fácil entender o que é objeto, depois que fica bem claro o que é uma classe. Simples: Podemos dizer que o objeto é uma fabricação da classe. Tudo que existe de real ou abstrato pode ser considerado um objeto. Ao pensar no que existe no mundo real ou abstrato, até mesmo o MÉDICO que usei como exemplo de classe, pode ser considerado um objeto. Depende do nível de abstração utilizado. Mas voltando a minha explicação, o DR. JOÃO, ou a DRA.CAMILA, são objetos, pois no sistema, na documentação, eles serão tratados como objetos. O dr.João e a dra.Camila podem possuir especialidades diferentes, ele pode ser obstetra e ela pediatra. Ele pode ter 37 anos e ela 23. São objetos bem diferentes, mas semelhantes em um sentido, que os fazem serem objetos pertencentes à mesma classe: São médicos.

MENSAGEM -> É a chamada de métodos para realizar alguma tarefa. Os objetos se comunicam trocando mensagens entre si.  A mensagem é interpretada pelo objeto que executa a ação solicitada e a responde, se for o caso. No nosso exemplo de hospital, seria entre outras coisas, uma mensagem que pergunta, através de um método :quantos médicos há no hospital hoje? O objeto detentor desta resposta, enviará mensagem para o destinatário.

ENCAPSULAMENTO -> Significa privar a informação de acesso indevido por outra classe. Desta forma ninguém mexe diretamente nos atributos, tem que passar antes pelo método. O encapsulamento se dá através de Get e Set. Aumenta a legibilidade, clareza e reuso. No sistema hospital, a classe paciente, não pode, por exemplo, executar ou ter acesso direto ao método consultar da classe médico

HERANÇA -> Classes semelhantes são agrupadas em hierarquias. A herança é um relacionamento em que uma sub-classe herda todos os estados e comportamentos de outra semelhante que é a base e acrescenta outros estados  não existentes na base. O sentido disto é que podemos ter classes semelhantes com tarefas diferentes. Pensemos duas classes: MÉDICO PROFISSIONAL E MÉDICO RESIDENTE. Podemos dizer que médico residente é a super classe e faz consulta, mas não é autorizado a fazer cirurgias. O médico profissional herdará da classe MedicoResidente todos os estados e comportamentos, como realizar consultas e ainda acrescentará o comportamento RealizarCirurgias (não permitido a MedicoResidente e não existente em MedicoResidente).

POLIMORFISMO -> É a capacidade de objetos diferentes responderem à mesma mensagem. Acontece quando mais de uma subclasse possui um mesmo método que pode realizar tarefas nos objetos uma das outras em tempo de execução.

ASSOCIAÇÃO -> Se diz quando um objeto aproveita recursos de outro.

Esta foi uma expressa e sucinta explicação sobre os conceitos/princípios da orientação a objetos. Rápido e direto.

Editado nesta sexta feira, 22 de março de 2013.
Forte abraço,
Fabiano Lopes







Nenhum comentário:

Postar um comentário

GOSTOU? NÃO GOSTOU? TEM ALGO IMPORTANTE A ACRESCENTAR?
Comente, seu comentário é importante !