Introdução ao paradigma OO
-
Upload
necio-de-lima-veras -
Category
Documents
-
view
989 -
download
0
Transcript of 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
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.
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.
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);
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);
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?
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.
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”;
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.
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
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;
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;
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
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;
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;
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;
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;
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;
Prof. Nécio Veras
VisualizandoVisualizando
Estudantede
Graduação
José Maria
CLASSIFICAÇÃO
CATEGORIA (CLASSE)
INDIVÍDUO(Objeto)
INSTANCIAÇÃO
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;
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;
Prof. Nécio Veras
VisualizandoVisualizando
Estudante
GENERALIZAÇÃO
CATEGORIA (CLASSE)
CATEGORIA (CLASSE)
Estudantede Pós-
Graduação
Estudantede
Graduação
ESPECIALIZAÇÃO(herança)
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)
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;
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;
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;
Prof. Nécio Veras
VisualizandoVisualizando
Estudante
AGREGAÇÃO(composição -
síntese)
DECOMPOSIÇÃO(refinamento -
análise)
CATEGORIA(CLASSE)
CATEGORIA
EndereçoNome
COMPONENTE
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);
Prof. Nécio Veras
ExercíciosExercícios