SISTEMAS DISTRIBUIDOS
Aula 5
Eduardo Silvestri
[email protected]
www.eduardosilvestri.com.br
Prof. Silvestri – todos os direitos reservados
Orientação a Objetos
Prof. Silvestri – todos os direitos reservados
Conceitos
- O que são Objetos?
- Objeto: *“-1. Tudo que se oferece aos nossos
sentidos ou à nossa alma. 2. Coisa material: Havia na
estante vários objetos. 3. Tudo que constitui a matéria
de ciências ou artes. 4. Assunto, matéria. 5. Fim a que
se mira ou que se tem em vista-”.
- Objeto é a abstração de coisas do mudo real!
Prof. Silvestri – todos os direitos reservados
Objetos
- Exemplos:
Prof. Silvestri – todos os direitos reservados
Objetos
- Exemplos:
Automóvel
Prof. Silvestri – todos os direitos reservados
Objetos
Objetos são coisas do mundo real ou imaginário, que
podemos de alguma forma identificar, como uma pedra, uma
caneta, um copo, uma fada.
Um objeto tem determinadas propriedades que o
caracterizam, e que são armazenadas no próprio objeto. As
propriedades de um objeto são chamadas ainda de atributos.
O objeto interage com o meio e em função de excitações que
sofre, realiza determinadas ações que alteram o seu estado
(seus atributos). Os atributos de um objeto não são estáticos,
eles sofrem alterações com o tempo.
Para a POO, um objeto é uma entidade única que reúne
atributos e métodos, ou seja, reúne as propriedades do
objeto e as reações as excitações que sofre.
Prof. Silvestri – todos os direitos reservados
Objetos
Quando temos uma instância de uma classe, nós temos um
objeto desta classe. Instância é um outro nome que se dá
ao objeto, geralmente se refere a um objeto específico.
Identidade2: A identidade é uma propriedade que permite
identificar univocamente um objeto. Os objetos se
distinguem por sua própria existência, independente de seu
conteúdo. Dois objetos são distintos mesmo que todos os
seus atributos sejam iguais, ou seja, existe um único
identificador para cada objeto.
Prof. Silvestri – todos os direitos reservados
PERGUNTAS
1. O que é um Objeto se visto pelo mundo real ?
2. O que é um Objeto se visto por O.O. ?
3. Podemos ter objetos iguais ? Porque ?
Exemplifique.
4. O que é uma instancia ?
Prof. Silvestri – todos os direitos reservados
Conceitos
- Objetos possuem 4 características:
- Identidade: 2 objetos são distintos mesmo que todos os
valores de seus atributos sejam iguais.
- Classificação: Objetos com a mesma estrutura de dados
(atributos) e
mesmo comportamento (operações) são
agrupados em uma classe.
- Polimorfismo: A mesma operação pode atuar de modos
diversos em classes diferentes.
- Herança: Compartilhamento de atributos e operações entre
classes com base em um relacionamento hierárquico.
Prof. Silvestri – todos os direitos reservados
Conceitos
- * “A abordagem baseada em objetos preocupa-se
primeiro em identificar os objetos contidos no domínio
da aplicação e depois em estabelecer os procedimentos
relativos a eles. Embora isso possa parecer mais
indireto, o software baseado em objetos mantém-se
melhor à medida que os requisitos evoluem, por se
apoiar na própria estrutura fundamental do domínio da
aplicação, ao invés de apoiar-se nos requisitos
funcionais ad hoc de um único problema.”
Prof. Silvestri – todos os direitos reservados
Conceitos
- 6 Características da Tecnologia Baseada em objetos:
- Abstração: Concentração nos aspectos essenciais, próprios,
de uma entidade e em ignorar suas propriedades acidentais.
- Encapsulamento: Separação dos aspectos externos de um
objeto, acessíveis por outros, dos detalhes internos da
implementação que ficam ocultos dos demais.
- Combinação de Dados e Comportamento: Polimorfismo
dos objetos.
- Compartilhamento: Compartilhar a estrutura comum
(classes) por diversas subclasses sem redundâncias (Herança).
- Ênfase na Estrutura de Objetos: Especificar o objeto e não
como ele é utilizado.
- Sinergia: Seguir todas as características simultaneamente.
Prof. Silvestri – todos os direitos reservados
Atributos
Mas você sabe que o funcionamento do objeto televisor é
extremamente complexo e que ao selecionar um novo canal,
uma série de atributos internos são processados e alterados.
Os atributos e funções internas estão encapsuladas,
escondidas de você.
Para a análise orientada a objeto, encapsulamento é o ato de
esconder do usuário informações que não são de seu
interesse. O objeto atua como uma caixa preta, que realiza
determinada operação mas o usuário não sabe, e não precisa
saber, exatamente como. Ou seja, o encapsulamento envolve
a separação dos elementos visíveis de um objeto dos
invisíveis.
Prof. Silvestri – todos os direitos reservados
Atributos
A vantagem do encapsulamento surge quando
ocorre a necessidade de se modificar um programa
existente. Por exemplo, você pode modificar todas
as operações invisíveis de um objeto para melhorar
o desempenho do mesmo sem se preocupar com o
resto do programa. Como estes métodos não são
acessíveis ao resto do sistema, eles podem ser
modicados sem causar efeitos colaterais.
Prof. Silvestri – todos os direitos reservados
Atributos
A todo objeto podemos relacionar alguns atributos
(propriedades). No exemplo do relógio a hora, a
data. Na programação orientada a objeto, os
atributos são definidos na classe e armazenados de
forma individual ou coletiva pelos objetos.
Exemplo: A hora de um relógio.
Cada relógio tem uma hora, que pode ou não estar
certa.
Prof. Silvestri – todos os direitos reservados
Métodos
A todo objeto podemos relacionar determinados
comportamentos, ações e reações.
As ações ou comportamento dos objetos são
chamadas na análise orientada a objeto de
métodos,assim, um método é uma função, um
serviço fornecido pelo objeto.
Os comportamentos dos objetos são definidos na
classe através dos métodos e servem para
manipular e alterar os atributos do objeto (alteram o
estado do objeto).
Prof. Silvestri – todos os direitos reservados
Métodos
Mensagens: Foi falado que um objeto tem
determinados atributos (propriedades) e
métodos (ações), e que o objeto reage ao meio
que o envolve de acordo com as excitações que
sofre.
Em um programa orientado a objeto as
excitações são representadas por mensagens
que são enviadas a um objeto. Uma mensagem
pode ser gerada pelo usuário, por exemplo, ao
clicar o mouse.
Prof. Silvestri – todos os direitos reservados
Métodos
Protocolo: O protocolo é o conjunto de métodos
que podem ser acessados pelo usuário, o
conjunto de mensagens a que o objeto
responde. Ou seja, o protocolo é o conjunto de
métodos públicos da classe.
Prof. Silvestri – todos os direitos reservados
PERGUNTAS
1. O que é Abstração ?
2. O que é Encapsulamento ?
3. O que é Herança ?
4. O que é Atributo ? Exemplifique.
5. O que é Metodo ? Exemplifique.
6. O que são mensagens em O.O. ?
7. O que é protocolo em O.O ?
Prof. Silvestri – todos os direitos reservados
Classes
Quando falamos de classes, lembramos de classes sociais,
de classes de animais (os vertebrados), de classes de
objetos da natureza, de hierarquias. Ou seja, uma classe
descreve um grupo de objetos com os mesmo atributos e
comportamentos, além dos mesmos relacionamentos com
outros objetos.
Para a análise orientada a objeto, uma classe é um conjunto
de códigos de programação que incluem a definição dos
atributos e dos métodos necessários para a criação de um ou
mais objetos.
A classe contém toda a descrição da forma do objeto, é um
molde para a criação do objeto, é uma matriz geradora de
objetos, é uma fábrica de objetos. Uma classe também é um
tipo definido pelo usuário.
Prof. Silvestri – todos os direitos reservados
Conceitos
Círculo
Círculo
R
Abstração
(x, y)
Raio: Real
x : Real
y : Real
Classe
Mover(x, y)
Aumentar(R)
Atributos
Métodos
Prof. Silvestri – todos os direitos reservados
Conceitos
Dados privados
Círculo
Raio: Real
x : Real
y : Real
Mover(x, y)
Aumentar(R)
Mover(x, y)
Raio: Real
x : Real
y : Real
Funções membro
públicas
Aumentar(R)
Geralmente, funções são o único meio de acesso as
atributos da classe!!
Prof. Silvestri – todos os direitos reservados
Conceitos
Definição para dados privados
Círculo
Raio: Real
x : Real
y : Real
Definição para dados públicos
Mover(x, y)
Aumentar(R)
Prof. Silvestri – todos os direitos reservados
Forma Geral de uma Classe
class nome-da-classe {
private:
dados e funções privadas
public:
dados e funções públicas
};
Prof. Silvestri – todos os direitos reservados
Construtor e Destrutor
- Construtor: Como o encapsulamento de dados é
comum, o C++ permite aos objetos serem
“inicializados” (iniciados) por si mesmo quando
criados. Por exemplo, alocação dinâmica de memória.
- Destrutor: Em diversos casos é necessário realizar
alguma(s) ação(ões) para o objeto poder ser destruído.
Por exemplo, “desalocação” dinâmica de memória.
Prof. Silvestri – todos os direitos reservados
Construtor e Destrutor
Construtor e Destrutor são chamados
automaticamente na criação de um
Objeto!
Prof. Silvestri – todos os direitos reservados
PERGUNTAS
1. O que é uma Classe ? Exemplifique.
2. Qual a diferença entre dados privados e publicos ?
3. O que é um construtor ?
4. Como funciona um construtor ?
5. Para que serve um construtor ?
Prof. Silvestri – todos os direitos reservados
Dúvidas ?
Prof. Silvestri – todos os direitos reservados
MAPA CONCEITUAL
Prof. Silvestri – todos os direitos reservados
Download

SD-Aula005 - Professor Eduardo Silvestri