Return to search

Filtros para objetos / Filters for objects

Esta tese propõe cinco construções para linguagens orientadas a objetos. Algumas delas podem ser implementadas por meio de pré-processadores. Estas construções são: visão de classe, adaptador, extensão de classe, Shell dinâmico e extensão dinâmica. Todas elas são baseadas no conceito de filtro, que e um objeto que intercepta as mensagens enviadas a um outro objeto. Visão de classe permite corrigir interpretações incorretas da semântica de uma classe no código de outras classes. Um filtro é usado para traduzir as mensagens para o significado correto. Adaptadores permitem mudar o tipo de um objeto através de um filtro e são usados para acoplar classes que, de outra forma, seriam incompatíveis quanto a tipos. Extensão de classe permite adicionar métodos e variáveis de instancia a classes sem a necessidade de edição do código fonte destas. Shell dinâmico e extensão dinâmica possuem algumas das características de meta-objetos e meta-classes, respectivamente. Eles formam um modelo reflexivo estaticamente tipado. Shell dinâmico permite redirecionar todas as mensagens enviadas a um objeto e extensão dinâmica permite substituir métodos de uma classe em tempo de execução. Todas as construções são originais, podem ser adicionadas em uma linguagem estaticamente tipada sem danificar o sistema de tipos e resolvem alguns problemas descritos na literatura de orientação a objetos. / This thesis proposes five constructions for object-oriented languages. Some of them can be implemented using a preprocessor. These constructions are: class view, adapter, class extension, dynamic shell, and dynamic extension. All of them are based in the concept of filter, that is an object that intercepts the messages sent to another object. Class view allows correcting misinterpretations about the semantics of a class in code of other classes. A filter is used to translate the messages to the correct semantics. Adapters allow changing the type of an object through a filter and are used to glue type incompatible classes. Class extension allows adding methods and instance variables to classes without editing the source code of these classes. Dynamic Shell and dynamic extension have some of the characteristics of meta-objects and meta-classes, respectively. They compose a statically typed reflective model. Dynamic shell allows to redirect all messages sent to an object and dynamic extension allows replacing methods of a class at run time. All constructs are original and can be added to a statically typed language. They solve some problems described in the object-oriented literature.

Identiferoai:union.ndltd.org:usp.br/oai:teses.usp.br:tde-26112008-132940
Date22 April 1996
CreatorsGuimaraes, Jose de Oliveira
ContributorsMasiero, Paulo Cesar
PublisherBiblioteca Digitais de Teses e Dissertações da USP
Source SetsUniversidade de São Paulo
LanguagePortuguese
Detected LanguagePortuguese
TypeTese de Doutorado
Formatapplication/pdf
RightsLiberar o conteúdo para acesso público.

Page generated in 0.0021 seconds