prof. silvestri – todos os direitos reservados sistemas distribuidos aula 4 eduardo silvestri...

30
Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri [email protected] www.eduardosilvestri.com.br

Upload: internet

Post on 22-Apr-2015

135 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

SISTEMAS DISTRIBUIDOSAula 4

Eduardo [email protected]

www.eduardosilvestri.com.br

Page 2: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

POO – Introdução.

A Orientação a Objetos veio conquistando seuespaço aos poucos, primeiramente com aimplementação, onde a linguagem C++ foralançada, (uma extensão orientada a objetos dalinguagem C), em seguida vieram as técnicasorientadas a objetos para a elaboração deinterfaces, o design, e por último, surgiu anecessidade da orientação a objetos na análisedos sistemas.

Page 3: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

OO – Introdução.

Mas o que significa a expressão "orientado aobjetos"? Essa expressão abriga o raciocínio de que um software orientado a objetos, éum software organizado como uma coleçãode objetos nos quais estão armazenadostanto a estrutura quanto o comportamentodos dados.

Page 4: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Características da OO

O objetivo da Orientação a Objetos é representarem software, objetos que se pressupõe existir nomundo real, utilizando para isso umacaracterística não conseguida nos modelostradicionais: a incorporação de ‘ações’ e ‘dados’,por meio de um objeto. Além disso, a orientaçãoa objetos está baseada na elaboração de partesindependentes, que unidas formam um todo, seuma dessas "partes" for danificada, ela poderáfacilmente ser reparada, sem causar dano para o"todo".Essas partes são objetos, e o todo é o sistema.

Page 5: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Características da OO

Os objetos podem ser reutilizados para comporoutros sistemas, e podem ter seus códigosrecombinados, o que permite a criação de novos objetos, ambos facilitam e diminuem otrabalho na hora do desenvolvimento.Para que esses objetivos, sejam alcançados, énecessário a aplicação uniforme dos princípiosque compõem esta metodologia, administrando

assimsua complexidade.

Page 6: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

O que são Objetos

Objetos são entidades que encapsulaminformações de estado ou dados e têm umconjunto de operações associadas quemanipulam estes dados.Um objeto pode ser real ou abstrato, possui umestado, o qual pode ser alterado ou obtido porum outro objeto da mesma classe, através do envio de mensagens, o que implica na execuçãode uma operação. E pode ser composto deoutros objetos.

Page 7: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

O que são Objetos

Cada objeto tem uma identidade, umaidentificação única o que os distingue entre si,quando são de uma mesma categoria, adistinção entre objetos idênticos, é feita pelasua própria existência.

Page 8: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Dúvidas ?Dúvidas ?

Page 9: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

O que Orientação a Objetos ?

Quais as vantagens da utilização da OO ?

O que é um Objeto ?

De exemplo de 5 objetos ?

O que o objeto encapsula ?

PERGUNTAS

Page 10: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Atributos

Um objeto é caracterizado pelos atributos que tem.Um atributo representa um valor de dado guardadopor um objeto.Os atributos podem ser fixos, quando assumem umúnico valor, ou variáveis, quando podem mudar devalor. Estes últimos são responsáveis pela mudançade estado de um objeto, então da mesma maneiraque caracterizam objetos, os atributos representam oestado dos mesmos, de acordo com o valor queestiverem assumindo em um determinado tempo. Amudança de estado de um objeto acontece pelaprovocação de um estímulo externo, chamado de evento.

Page 11: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Operações e Métodos

Uma operação é uma função atribuída a objetos, éum serviço que um objeto promove. Um método éuma implementação de uma operação para umaclasse.Se uma função é atribuída a diversas classes, elaacompanhará a característica da classe em queestiver presente, tomará uma forma diferente paracada classe, cada forma dessas, será uma maneira,um método diferente de se executar uma mesmafunção. Esse processo de uma mesma operação seraplicada a diferentes classes, e em cada uma delastomar uma forma diferente, é denominado depolimorfismo.

Page 12: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Classificação

Refere-se ao agrupamento de objetos com característicasdescritivas (atributos) semelhantes, e com característicasfuncionais (operações) semelhantes.Um objeto pertencente a uma classe, é dito como instânciada classe, ou seja ele se enquadra nas característicascomportamentais ou descritivas definidas pela categoria aque pertence. Pode-se dizer que a instanciação é o processocontrario da classificação, se para classificar separamosobjetos com características semelhantes originando assimuma classe, à instanciação, a partir de uma classe já existente, é criado um objeto com as característicasdeterminadas por esta classe existente.

Page 13: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Classificação

O termo classe, apresenta-se como umidentificador de um grupo de objetos, e o

termoobjeto é usado para identificar uma instância

deuma classe.

Page 14: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Abstração

De uma maneira geral, permite limitar um assuntoa aspectos relevantes, de acordo com a perspectivade um observador. Para uma visão voltada aorientação a objetos, trata-se de um mecanismoatravés do qual observa-se o domínio de umproblema e foca-se nos objetos, ações eprioridades, que são relevantes para uma aplicaçãoespecífica, ignorando todos os outros pontos quenão são relevantes.

Page 15: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Dúvidas ?Dúvidas ?

Page 16: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

O que são atributos ?

O que são métodos ?

O que é Polimorfismo ?

O que é processo de Classificação ?

O que é abstração em OO ?

PERGUNTAS

Page 17: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Encapsulamento

Encapsular é uma forma de abstrair, ocultar

detalhes de uma estrutura complexa, de forma a

facilitar a análise de um problema.

O encapsulamento promove a interdependência

entre módulos, e esconde do usuário a

estruturação complexa, por trás da interface gráfica

de um software.

Page 18: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Hierarquização

Tomando uma classe como base, hierarquizar, éderivar esta classe em classes menores(herança simples), onde estas últimas herdaramcaracterísticas (atributos e métodos) da "classemãe", e lhe é permitido "adicionar novasoperações, estender a representação de dados ouredefinir a implementação de operações jáexistentes."

Page 19: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Hierarquização

Como classes derivadas herdam características dasua classe mãe, todas terão funcionalidadescomuns, porém se especializaram com a obtençãode uma funcionalidade adicional.Uma classe pode também ser originada baseadaem duas ou mais classes mães, herdandocaracterísticas de todas elas, quando assim, chama-se de herança composta (multipla).

Page 20: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Generalização/ Especialização

Generalização refere-se a um processo que permiteabstrair a partir de um conjunto de classes, umaclasse mais geral contendo todas as característicascomuns.Ao contrario de generalizar, especializar é oprocesso pelo qual especializa uma classe em umnúmero de subclasses, de maneira que explicita asdiferenças entre as novas subclasses.

Page 21: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Generalização/ Especialização

No momento da especialização de uma classeem subclasses, o emprego do processo de hierarquização é automático.Percebe-se a necessidade de especializar umaclasse, quando a mesma pode ser de váriostipos, onde cada tipo tem uma característicaprópria e específica, que não pode ser atribuídaaos outros tipos, dessa maneira, a classe mãeabriga apenas as características comuns atodos, e as classes filhas abrigam suas características especificas.

Page 22: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Dúvidas ?Dúvidas ?

Page 23: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

1. O que é encapsulamento ?

2. O que é herança ?

3. Quais os tipos de herança ?

4. O que é uma classe mãe ?

5. O que é uma classe Filha ?

6. O que é Generalização de uma classe ?

7. O que é Especialização de uma classe ?

8. De 2 exemplos de Herança Simples.

9. De 2 exemplos de Herança Multipla.

PERGUNTAS

Page 24: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Relacionamento e Mensagens

Como já mencionado antes, a orientação a objetos baseia-se na elaboração de partes para formar um todo, cada parte funciona separadamente, e o que as fazem funcionar como um todo, são relacionamentos, ou seja, o relacionamento é o que une as partes permitindo que funcionem em conjunto. Entretanto, o que faz uma parte se relacionar com a outra, é a troca de mensagens entre elas.

Page 25: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Relacionamento e Mensagens

Um objeto se comunica com outro através do envio de mensagens. Quando um objeto recebe uma mensagem, ele verifica se o serviço solicitado é disponível na classe em que pertence, se for ele terá uma reação de resposta, caso contrário, ele verificará nas suas classes mãe se alguma delas executa o serviço solicitado pela mensagem.

Page 26: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

O que são Objetos Distribuídos

Objetos Distribuídos são armazenadores de códigos que executam uma determinada tarefa.

Sua principal característica refere-se a sua localização, eles podem ser abrigados todos em uma única máquina, ou distribuídos em máquinas distintas de uma rede de computadores (LAN, WAN, e Internet). Em conjunto, esses objetos são capazes de executar funções para um sistema (sistema distribuído).

Page 27: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

O que são Objetos Distribuídos

Objeto distribuído é uma evolução do objeto convencional. Entretanto possuem uma interfaceespecífica onde os compiladores geram um código a mais para serem acessados por outros objetos,de maneira que o programa/objeto que o solicite desconheça o local onde o objeto chamado estáabrigado, o sistema operacional que estiver sendo utilizado e a linguagem à qual fora criado.

Page 28: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

Dúvidas ?Dúvidas ?

Page 29: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

O que é uma mensagem em OO ?

Para que serve uma mensagem ?

Qual é o processo executado por um objeto quando recebe uma mensagem ?

O que é um Objeto Distribuído ?

PERGUNTAS

Page 30: Prof. Silvestri – todos os direitos reservados SISTEMAS DISTRIBUIDOS Aula 4 Eduardo Silvestri silvestri@eduardosilvestri.com.br

Prof. Silvestri – todos os direitos reservados

MAPA CONCEITUAL