5. Conceitos básicos de Orientação a Objetos
Aqui vamos recordar os conceitos básicos da Orientação a Objetos que serão empregados neste módulo.
- Classe: uma classe é uma estrutura que abstrai um conjunto de objetos com características similares. Portanto, uma classe de objetos descreve um grupo de objetos com propriedades semelhantes (atributos), com o mesmo comportamento (operações ou métodos), os mesmos relacionamentos com outros objetos e a mesma semântica.
- Objeto: cada objeto é dito ser uma instância de sua classe. No contexto da orientação ao objetos, instância significa a concretização de uma classe. Cada instância tem seu próprio valor para cada atributo, mas compartilha os mesmos atributos e operações com outras instâncias da mesma classe. Um objeto contém uma referência implícita à sua própria classe, ou seja, ele sabe a que classe pertence.
- Atributos: os atributos indicam as possíveis informações armazenadas por um objeto de uma classe, representando o estado de cada objeto. As operações são procedimentos que formam os comportamentos e serviços oferecidos por objetos de uma classe.
- Operações: Além dos atributos, as classes definem as operações que são usadas para manipular os dados dos objetos daquela classe e assim, definem o comportamento de um determinado tipo de objeto. A implementação de uma operação usando uma linguagem de programação é conhecida como método. Porém, muitas vezes método e operação acabam sendo usados como sinônimos.
- Herança (Generalização/Especialização): a herança é um relacionamento entre um elemento geral e outro mais específico. Através do mecanismo de herança é possível definir classes genéricas que agreguem um conjunto de definições comuns a um grande número de objetos (Generalização). A partir destas especificações genéricas, podemos construir novas classes, mais específicas, que herdem características da classe genérica e que acrescentem novas características e comportamentos aos já existentes (Especialização). Desta forma, a herança permite a criação de elementos especializados em outros. Um objeto mais específico pode ser usado como uma instância do elemento mais geral.
- Relacionamentos entre Classes: o relacionamento mais comum entre classes é a associação, através do qual ligamos duas classes. A associação é o mecanismo através do qual os objetos se comunicam, ou seja, é necessário que haja uma associação entre duas classes para que os objetos destas classes possam trocar mensagens e interagir para a realização de alguma tarefa. A composição é uma forma mais forte de agregação, onde o objeto-parte pertence a um único objeto-todo. É uma agregação onde o objeto parte pode pertencer somente a um todo e espera-se que as partes vivam e morram com o todo. Se o objeto da classe que contém (classe composta) for destruído, as classes da composição serão destruídas juntamente, já que as mesmas fazem parte da outra.
- Multiplicidade: Multiplicidade é um número ou um intervalo que indica quantas instâncias de uma classe conectada pode estar envolvido naquela relação.
Agora que já relembramos todos os fundamentos do que estudaremos nesse módulo, passaremos, na sequência, a conhecer melhor os Bancos de Dados Orientados a Objetos.