A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Uma perspectiva conceitual sobre a comparação de LPOO´s Bent Bruun Kristenser Kasper Osterbte By Lineu Antonio de Lima Santos.

Apresentações semelhantes


Apresentação em tema: "Uma perspectiva conceitual sobre a comparação de LPOO´s Bent Bruun Kristenser Kasper Osterbte By Lineu Antonio de Lima Santos."— Transcrição da apresentação:

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

10

11

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 %


Carregar ppt "Uma perspectiva conceitual sobre a comparação de LPOO´s Bent Bruun Kristenser Kasper Osterbte By Lineu Antonio de Lima Santos."

Apresentações semelhantes


Anúncios Google