Introdução ao paradigma OO

29
Prof. Nécio de Lima Veras http://lattes.cnpq.br/8284657916723590 Programação Orientada a Objetos Unidade I – Introdução ao Paradigma da Orientação a Objetos

Transcript of Introdução ao paradigma OO

Page 1: Introdução ao paradigma OO

Prof. Nécio de Lima Verashttp://lattes.cnpq.br/8284657916723590

Programação Orientada a Objetos

Unidade I – Introdução ao Paradigma da Orientação a Objetos

Page 2: Introdução ao paradigma OO

Prof. Nécio de Lima Verashttp://lattes.cnpq.br/8284657916723590

Objetivo

Citar características, vantagens e desvantagens do paradigma da orientação a objetos, comparando-a com o paradigma estruturado.

Page 3: Introdução ao paradigma OO

Prof. Nécio Veras

RoteiroRoteiro

● Introdução● O Paradigma da tecnologia de objetos;● Modelagem conceitual (abstração);● Processos de abstração;● Operações de abstração.

Page 4: Introdução ao paradigma OO

Prof. Nécio Veras

IntroduçãoIntrodução

● Uma construção de um programa implicará em definir um modelo de resolução e isso envolve um estudo do problema (contexto e aspectos importantes);

Page 5: Introdução ao paradigma OO

Prof. Nécio Veras

Introdução (cont.)Introdução (cont.)

• Como construir um modelo de resolução (ou modelagem do problema)?

– Existem para isso vários paradigmas:

1. Meio Procedural (computador é uma máquina que apenas obedece ordens);

2. Meio funcional (computador avalia funções e o programa define e compõe funções);

3. Meio orientado a objetos (Visa “imitar” o mundo real, o computador simula as interações entre os objetos);

Page 6: Introdução ao paradigma OO

Prof. Nécio Veras

O Paradigma da Orientação a O Paradigma da Orientação a ObjetosObjetos

● O mundo real é constituído por entidades;● Entidade: “Alguma coisa” que tenha sua

própria existência, características e que apresenta alguma função do mundo real;– Assim: Entidade = Objeto;

● Mas o que seria esse Objeto?

Page 7: Introdução ao paradigma OO

Prof. Nécio Veras

O paradigma da Orientação a O paradigma da Orientação a ObjetosObjetos

● Segundo o dicionário português (s. m.):– Tudo o que se oferece à vista, que afeta os sentidos.

– Qualquer coisa.– Fig. Tudo o que se oferece ao espírito, que o ocupa; intenção, propósito.

– Causa, motivo de um sentimento, de uma ação.– Matéria própria: o objeto de uma ação.

– Direito. Aquilo sobre o que incide um direito, uma obrigação, um contrato, uma demanda em juízo.

– Filosofia. O que é pensado e se opõe ao ser pensante, ou sujeito.

– Gramática. Complementos verbais: objeto direto e objeto indireto.

– O objeto amado, a pessoa a quem se ama.

Page 8: Introdução ao paradigma OO

Prof. Nécio Veras

O paradigma da Orientação a O paradigma da Orientação a ObjetosObjetos

● No mundo computacional, embora não signifique algo concreto ou palpável, é constituído por características que apresentam alguma função do mundo real;

● E isso inspira a resolução de problemas baseado na:– construção de um modelo que englobe objetos

(entidades) definindo-se as interações entre eles;

– Ex.: Problema: “Chegar a um determinado ponto da cidade”;

● Objetos envolvidos: “Eu” , “ônibus” e “campainha”;

Page 9: Introdução ao paradigma OO

Prof. Nécio Veras

O Paradigma da Orientação a O Paradigma da Orientação a Objetos: definição preliminarObjetos: definição preliminar

● Um software consiste em um entidade (objeto), expresso na forma de texto, que especifica os objetos que atuam na resolução de um determinado problema e que descreve como esses objetos devem interagir no sentido de resolvê-los.

Page 10: Introdução ao paradigma OO

Prof. Nécio Veras

EntidadeObservada

Entidade Representada

Avião

ABSTRAÇÃO

REPRESENTAÇÃO

Operação mentalpara observar umdomínio e capturarsua estrutura

Refere-se àsconvenções derepresentação

Notação gráfica,linguagem de programação

Modelagem ConceitualModelagem Conceitual

Page 11: Introdução ao paradigma OO

Prof. Nécio Veras

AbstraçãoAbstração

● Ex.: Problema: “determinar a média final de um aluno”;– Aspectos relevantes: Suas notas, assiduidade, participação

durante as aulas;

– Aspectos irrelevantes: Meio de transporte utilizado, procedência escolar, gostos;

● Constitui-se em um processo mental usado para modelar uma entidade, isolando as características importantes;

● Objetivo: Reduzir a complexidade do problema;

Page 12: Introdução ao paradigma OO

Prof. Nécio Veras

Abstração (cont.)Abstração (cont.)

● Sempre dependerá do CONTEXTO, ou seja, do PONTO DE VISTA;

● Deve enfatizar as características essenciais do problema e o projetista deve:– Considerar essas características sob o ponto

de vista de quem necessita da solução;

Page 13: Introdução ao paradigma OO

Prof. Nécio Veras

Abstração“a beleza está nos olhos de quem a vê”

• Diferentes abstrações a partir de um mesmo objeto do mundo real

Maça

Pesocor da cascaformato

Receita

I, II,Multiplicidadedo conjunto

Page 14: Introdução ao paradigma OO

Prof. Nécio Veras

Conclusão (Abstração)Conclusão (Abstração)

● A forma de representação depende do tipo de problema e dos objetivos;

● Um arquiteto deve representar o modelo de resolução do problema de construção de casa, usando maquetes, plantas, etc.

● Nosso caso: Definir modelo para que o computador resolva problemas;– Linguagens de programação;– Diagramas/textos descritivos;

Page 15: Introdução ao paradigma OO

Prof. Nécio Veras

Operações de AbstraçãoOperações de Abstração

• É importante que se conheça os operações usadas durante o processo de abstração que envolve objetos;

• Demonstra como o ser humano mentaliza, organiza e modelo o mundo ao seu redor;

• Aplicaremos as seguintes operações básicas:1. Classificação / Instanciação;

2. Generalização / Especialização;

3. Agregação / Decomposição;

4. Associação;

Page 16: Introdução ao paradigma OO

Prof. Nécio Veras

Classificação / InstanciaçãoClassificação / Instanciação

● Cada entidade possui determinadas características que a identificam;

● Ex.: Carro = Automóvel , pois possui todas as características de um automóvel, tais como:– Ter um motor, porta-malas, placa, sistemas de câmbio e

freios, volante, etc.● Veículo do vizinho, também é um automóvel, desde

que possua as mesmas características;– São entidades distintas, porém pertencem a mesma

categoria de automóveis;

Page 17: Introdução ao paradigma OO

Prof. Nécio Veras

ClassificaçãoClassificação

● Uma categoria define o conjunto de características que devem ser apresentados por um objeto;

● Categoria = Classe;● Objetos (Possuem sua própria existência e

características);● Objetos com as mesmas características

pertencem a uma mesma classe;

Page 18: Introdução ao paradigma OO

Prof. Nécio Veras

InstanciaçãoInstanciação

● Ao construímos um objeto contendo todas as características de determinada classe, estamos fazendo uma operação de Instanciação;

● Ocorre sempre que criarmos uma entidade de determinada classe;

Page 19: Introdução ao paradigma OO

Prof. Nécio Veras

VisualizandoVisualizando

Estudantede

Graduação

José Maria

CLASSIFICAÇÃO

CATEGORIA (CLASSE)

INDIVÍDUO(Objeto)

INSTANCIAÇÃO

Page 20: Introdução ao paradigma OO

Prof. Nécio Veras

Classificação / Instanciação Classificação / Instanciação (conclusão)(conclusão)

● Classificação: Operação que tem por objetivo, através da análise das características de um objeto, definir a que classe pertence;

● Instanciação: Operação que, dada uma determinada classe, define (cria) um objeto pertencente a esta classe;

Page 21: Introdução ao paradigma OO

Prof. Nécio Veras

Generalização / EspecializaçãoGeneralização / Especialização

● Imagine um profissional formado em computação (objeto) pertencente à classe bacharel em computação;

● Considere agora este profissional faça um curso de especialização em análise de sistemas; – Então, este novo profissional possui características

adicionais;– Agora ele também faz parte da classe Analistas de

Sistemas;● Assim, análise de sistemas constitui-se em uma

especialização da classe bacharel em computação;

Page 22: Introdução ao paradigma OO

Prof. Nécio Veras

VisualizandoVisualizando

Estudante

GENERALIZAÇÃO

CATEGORIA (CLASSE)

CATEGORIA (CLASSE)

Estudantede Pós-

Graduação

Estudantede

Graduação

ESPECIALIZAÇÃO(herança)

Page 23: Introdução ao paradigma OO

Prof. Nécio Veras

Visualizando (cont.)Visualizando (cont.)

Mamífero

GENERALIZAÇÃO

CATEGORIA (CLASSE)

CATEGORIA(CLASSE)

Baleia

Atributos•sangue quente•vertebrado•vivíparo

Atributos•Habitat: mar•Tempo médio de

vida: 200 anos

ESPECIALIZAÇÃO(herança)

Page 24: Introdução ao paradigma OO

Prof. Nécio Veras

Generalização / Especialização Generalização / Especialização (Conclusão)(Conclusão)

● Generalização: Operação de análise de um conjunto de classes que identificam características comuns a todas, tendo-se por objetivo a definição de uma classe mais genérica, a qual especificará essas características comuns;

● Especialização: Operação em que, a partir de uma classe, identifica-se uma ou mais subclasses, cada uma especificando características adicionais em relação à classes mais geral;

Page 25: Introdução ao paradigma OO

Prof. Nécio Veras

Agregação / DecomposiçãoAgregação / Decomposição

● Como vimos, um objeto possui determinadas características:– Características de decomposição;– Características de ação;

● Ação está relacionada aos serviços que este objeto pode executar;

● Decomposição dizem respeito à constituição do objeto;

● Um objeto pode ser composto por vários outros objetos;

Page 26: Introdução ao paradigma OO

Prof. Nécio Veras

Agregação / Decomposição Agregação / Decomposição (cont.)(cont.)

● Quando unimos um conjuntos de objetos, com o objetivo de formarmos outros objetos, estamos realizando uma operação de agregação;

● Ao analisarmos um objeto isolando cada um de seus componentes, estamos fazendo uma operação de decomposição;

● Os diagramas que demonstram estas operações, também podem ser chamados de Todo-Parte;

Page 27: Introdução ao paradigma OO

Prof. Nécio Veras

VisualizandoVisualizando

Estudante

AGREGAÇÃO(composição -

síntese)

DECOMPOSIÇÃO(refinamento -

análise)

CATEGORIA(CLASSE)

CATEGORIA

EndereçoNome

COMPONENTE

Page 28: Introdução ao paradigma OO

Prof. Nécio Veras

AssociaçãoAssociação

● Apresenta um determinado relacionamento, caracterizado pela ligação entre suas entidades;– Ex.: Professor e aluno no problema relacionado

ao ato de ministrar aulas;● Em associação, as entidades que possuem ligação

existem independentemente uma da outra;– Ao contrário de Agregação/decomposição, no qual implica

o acoplamento forte entre as entidades (uma é parte integrante da outra);

Page 29: Introdução ao paradigma OO

Prof. Nécio Veras

ExercíciosExercícios