Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouÁgatha Malta Alterado mais de 9 anos atrás
1
Uma perspectiva conceitual sobre a comparação de LPOO´s Bent Bruun Kristenser Kasper Osterbte By Lineu Antonio de Lima Santos
2
Enumerando Características LPOO´s são compreendidas, avaliadas e comparadas a partir de suas características Elas também modelam os processos baseados em LPOO’s Exemplo: OO = Objeto + Classe + Herança
3
Vantagens e Desvantagens Visão profunda da lingaugem Diferenças são facilmente percebidas Isso só contribui com o entendimento isolado dos vários aspectos de uma LPOO.
4
Perspectiva Conceitual Visão Global de aspectos de uma LPOO Perspectiva baseada em conceitos Programação conceitual : programar é um processo de modelar de um sistema de referência onde “fenômenos” e abstrações desse sistema são expressados numa LP. Abstrações dessa LP são baseadas no entendimento geral dos fenômenos e conceitos.
5
Conceito Denominação Extensão : Conjunto de fenômenos cobertos pelo conceito Intenção :Descrição das propriedades dos fenômenos da extensão
6
Conceito em LPOO’s Classes modelam os conceitos Objetos modelam o fenômeno
7
Framework Conceitual Relacionamento intenção/extensão Processos de Abstração Aspectos pragmáticos do processo de abstração Tipos de conceitos
8
Linguagens Utilizadas na Comparação
9
Características das Linguagens
12
Características Self Não existem classes, só objetos. Objeto é o protótipo para clonagem. Variáveis e métodos são unificados como Slots Delegação combina herança e instanciação
13
Características Objective-C Tipo de dado OBJECT Message expression Método é o corpo de uma função em C Noção de Protocolo
14
Características ADA Pacotes são os mecanismos de abstração que modelam objetos Pacote possui tipos locais, variáveis e procedimentos
15
Características das Linguagens
16
Relação Intenção/Extensão de um conceito Determinar se um fenômeno é ou não coberto por um conceito Perspectiva Aristotélica : intensão define a extensão Perspectiva Prototipal : comparação Propriedade mandatária : descrita explicitamente no conceito Propriedade característica : implícita
17
Relação Intensão/Extensão
18
Processos de Abstração Quais são e quais suas propriedades? Classificação, Exemplificação, Especialização, Generalização, Agregação e Decomposição
19
Classificação Vai do fenômeno para o conceito Um objeto é classificado pela classe da qual é instanciado
20
Exemplificação Vai do conceito para o fenômeno A partir de classes instanciamos objetos A partir de classes podemos “pegar” um objeto
21
Especialização Cria um conceito especial a partir de um mais geral {extensão conceito especializado} está contida {extensão do conceito geral}
22
conceito geral X conceito especializado Herança : as propriedades do geral são as mesmas do especializado Modificação : uma prop. é mais elaborada num especializado Adicional : Propriedades aparecem no conceito especializado
23
Generalização Contrário da Especialização Só é suportada se isso for feito de forma explicita
24
Agregação Combinar vários conceitos num novo conceito É usualmente suportada por meio de variáveis de instancia
25
Agregado X Partes Aparição : propriedade é nova em relação às partes Propriedade da parte torna-se propriedade do agregado Cancealed : propriedade de uma das partes não torna-se propriedade do agregado
26
Decomposição Contrário da Agregação Esse processo só é considerado se for avaliado de forma explicita
27
Processos de Abstração
28
Processo de Abstração
29
Exemplificação suportada por instanciações Uso de valores iniciais : inicialização dos valores de um objeto Inicialização é feita através de parametrização Parametrização de valores é diferente de Generecidade
30
Agregação : características adicionais Linguagem somente suporta referencia a objetos somente? Referencia a objetos constituintes é suportada? Action Part Constituents
31
Especialização : características adicionais Linguagem suporta a extensibilidade de todos os tipos de propriedades? Referencia Action Part
32
Processo de Abstração: características adicionais
33
Modificação de propriedades Overriding : re-declaração do método Extensão : forçada ou não Combinação : uso de “super” ou “inner”
34
Propriedades : Características adicionais
35
Aspectos pragmáticos dos processos de abstração Caracteriza tais processos Time : O tempo de uso do processo(Estático ou Dinâmico) Order : Ordem dos produtos de um processo(Simples, Múltiplo)
36
Aspectos Pragmáticos Classificação por tempo : quando é feita a amarração objeto-classe Exemplificação simples : somente um fenômeno pode ser criado a partir de um conceito Especialização simples : conceito com uma única especialização
37
Aspectos Pragmáticos Especialização Múltipla : o mesmo conceito é especializado para vários conceitos Agregação múltipla : o mesmo conceito pode ser usado para formar vários conceitos agregados diferntes
38
Aspectos Pragmáticos
39
Classificação Implícita Tipagem estática ou dinâmica Uma referência “r” é dita qualificada pela classe C quando r pode ser associado com objetos de C r também é qualificada para subclasses de C
40
Referencias(r) e classes(C) Referencias de um tipo : C é usada apenas como uma descrição comum de objetos instanciados Referencia sem qualificação : protocolo não é explicitamente definido por alguma declaração
41
Especialização Simultânea Suporte para essa abstração através de herança múltipla Duplicação : superclasse comum nas superclasses herdadas Conflitos : mesmo nome herdado de varias superclasses
42
Aspectos pragmáticos : caracterização adicional
43
Os tipos de Conceitos Descrevem coisas -> Classes Descrevem ações -> Métodos Ação depende da coisa ou coisa depende da ação?
44
Tipos de Conceitos
45
Formas de execução de programas Ação - Combinação : como combinar as ações sequencial quasi-paralela concorrente
46
O conceito “conceito” Denominação : conceito Intenção : denominação + extensão + intensão Extensão : todos os conceitos Isso garante o suporte do framework ao nível de metaclasse
47
Tipos de Conceitos : Caracterização adicional
48
Resultado como diferenças relativas entre as lings em %
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.