Definição
A orientação a objetos, também conhecida
como Programação Orientada a Objetos
(POO) é um paradigma de análise, projeto e
programação de sistemas de software
baseado na composição e interação entre
diversas unidades de software chamadas de
objetos.
Componentes Básicos da
Orientação a Objetos
Classe → São moldes através dos quais criamos objetos
Objeto → Abstração que agrupa características e comportamentos.
Instância → É o objeto propriamente dito. Possui características próprias.
Propriedade → Define as características dos objetos de uma classe.
Método → Define o comportamento dos objetos de uma classe.
Mensagem → Representa uma ação do objeto ou uma mudança de estado.
Define a comunicação entre objetos.
Interface → Conjunto de mensagens que define o comportamento de um
objeto (Protocolo).
Objetos
Um objeto representa uma entidade, seja ela de
natureza física, conceitual ou software.
Entidade Física: Carro, Pessoa.
Entidade Conceitual: Departamento.
Entidade Software: um botão em uma GUI.
Mário
Características
(estado)
Comportamento
Identidade
Classe
Uma classe serve de modelo para vários
objetos semelhantes que possuem os mesmos
tipos de informação em seu estado e tem os
mesmos comportamentos;
Exemplo: Planta de uma casa, Carro, Pessoa.
Atributos
Representam um conjunto de informações, ou
seja, elementos de dados que caracterizam
um objeto.
Funcionário_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salário = 4.000
InformarSalário
CalcularIdade
Funcionário_Helena
Nome=Helena Reis
Nasc=28/01/1965
Salário = 4.000
InformarSalário
CalcularIdade
Funcionário_Mário
Nome=Mário Sá
Nasc=16/02/1970
Salário = 3.000
InformarSalário
CalcularIdade
Funcionário_Mário
Nome=Mário Sá
Nasc=16/02/1970
Salário = 3.000
InformarSalário
CalcularIdade
Método
Quando um objeto é mapeado dentro do domínio do software,
os processos que podem mudar a sua estrutura de dados são
denominados Operações ou Métodos.
Métodos são invocados por Mensagens.
Cada objeto possui seu próprio conjunto de métodos.
Definições:
São procedimentos definidos e declarados que atuam sobre
um objeto ou sobre uma classe de objetos.
Descrição de uma sequência de ações a serem executadas
por um objeto.
Através dos métodos que especifica-se a um objeto COMO
FAZER alguma coisa.
São intrínsecos aos objetos e não podem ser separados.
Herança
Mecanismo que permite definir uma nova
classe (subclasse) a partir de uma classe já
existente (super-classe).
Encapsulamento
Objetos encapsulam suas estruturas de dados (atributos).
Os atributos de um objeto só podem ser manipulados pelos
próprios métodos do objeto
Restringe a visibilidade do objeto mas facilita o reuso.
Os DADOS e os MÉTODOS são empacotados sob um nome e
podem ser reusados como uma especificação ou componente de
programa.
Abstração
Uma abstração é qualquer modelo que inclui os
aspectos relevantes de alguma coisa, ao
mesmo tempo em que ignora os menos
importantes.
Interface
Objetos se comunicam através de Mensagens, que
invocam os Métodos desejados.
Parte Privada do Objeto (Visão Interna)
Métodos
Atributos
Parte Compartilhada do Objeto ou Interface
corresponde à parte externa do objeto, isto é, àquela
que é vista por outros objetos com a finalidade de
invocar os métodos que o objeto realiza agrupa um
conjunto de mensagens que o objeto pode
Responder as mensagens especificam quais
operações sobre o objeto podem ser realizadas, mas
não como a operação será executada.
Conclusão
Concluímos que a transposição dos objetos do mundo
real para um software se tornam muito mais simples e
fácil quando usamos da orientação à objetos porque as
abstrações são expressas com uma maior qualidade ao
mundo computacional, fazendo com que a complexidade
do desenvolvimento e manutenção em linguagens de
alto nível (como Java ou .NET, por exemplo) sejam mais
rápidas e eficientes.