prof. silvestri – todos os direitos reservados sistemas distribuidos aula 5 eduardo silvestri...
TRANSCRIPT
Prof. Silvestri – todos os direitos reservados
SISTEMAS DISTRIBUIDOSAula 5
Eduardo [email protected]
www.eduardosilvestri.com.br
Prof. Silvestri – todos os direitos reservados
Orientação a Objetos
Prof. Silvestri – todos os direitos reservados
ConceitosConceitos
- 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
ObjetosObjetos
- Exemplos:
Prof. Silvestri – todos os direitos reservados
ObjetosObjetos
- Exemplos:
Automóvel
Prof. Silvestri – todos os direitos reservados
ObjetosObjetosObjetos 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
ObjetosObjetos
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
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 ?
PERGUNTAS
Prof. Silvestri – todos os direitos reservados
ConceitosConceitos- 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
ConceitosConceitos
- * “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
ConceitosConceitos
- 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
AtributosAtributosMas 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
AtributosAtributos
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
AtributosAtributos
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étodosMé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étodosMé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étodosMé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
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 ?
PERGUNTAS
Prof. Silvestri – todos os direitos reservados
ClassesClassesQuando 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
ConceitosConceitos
R
(x, y)
Círculo
AbstraçãoRaio: Realx : Realy : Real
Mover(x, y)Aumentar(R)
Círculo
Classe
Atributos
Métodos
Prof. Silvestri – todos os direitos reservados
ConceitosConceitos
Raio: Realx : Realy : Real
Mover(x, y)Aumentar(R)
Círculo
Raio: Realx : Realy : Real
Mover(x, y)
Aumentar(R)
Geralmente, funções são o único meio de acesso as atributos da classe!!
Dados privados
Funções membro públicas
Prof. Silvestri – todos os direitos reservados
ConceitosConceitos
Raio: Realx : Realy : Real
Mover(x, y)Aumentar(R)
Círculo
Definição para dados privados
Definição para dados públicos
Prof. Silvestri – todos os direitos reservados
Forma Geral de uma ClasseForma 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 DestrutorConstrutor 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 DestrutorConstrutor e Destrutor
Construtor e Destrutor são chamados automaticamente na criação de um
Objeto!
Prof. Silvestri – todos os direitos reservados
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 ?
PERGUNTAS
Prof. Silvestri – todos os direitos reservados
Dúvidas ?Dúvidas ?
Prof. Silvestri – todos os direitos reservados
MAPA CONCEITUAL