Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
The C++ programming language
Object-oriented programming with flavors
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
An introduction to Trellis/Owl
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Inheritance and the development of encapsulated software systems
Research directions in object-oriented programming
Interfaces for strongly-typed object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Encapsulation, delegation and inheritance in object-oriented languages
Software Engineering Journal - Object-oriented systems
Object-Oriented Software Construction
Object-Oriented Software Construction
Hi-index | 0.00 |
Encapsulation is a technique for minimizing interdependecies among separately-writen modules by defining strict external interfaces. Many popular object-oriented languages (e.g, Smalltalk, Flavors, Objective-C and Eiffel) allow free access to inherited instances variables by descendant classes, thus denying the designer the freedom to compatibly change the represnntation of a class without affecting clients and severly compromising encapsulation. In this paper, by introducing virtual instance variables and providing two interfaces (client-interface and subclass-interface) for a class, we give a class mechanism which provides sufficent support for encapsulation and is implemented in NDOOM, a object-oriented dialect of Modula-2 which we are developing.