Results 1 - 10
of
30
A Monotonic Superclass Linearization for Dylan
, 1996
"... Object-oriented languages with multiple inheritance and automatic conflict resolution typically
use a linearization of superclasses to determine which version of a property to inherit when
several superclasses provide definitions. Recent work has defined several desirable characteristics
for lineari ..."
Abstract
-
Cited by 32 (0 self)
- Add to MetaCart
for linearizations, the most important being monotonicity, which prohibits inherited properties
from skipping over direct superclasses. Combined with Dylan’s sealing mechanism, a monotonic
linearization enables some compile-time method selection that would otherwise be impossible
in the absence of a closed
Directed and multi-directed animals on the King’s lattice
, 2013
"... We define the directed King’s lattice to be the square lattice with diagonal (next nearest neighbor) bonds and with the preferred directions { , , , ,}. We enumerate directed animals on this lattice using a bijection with Viennot’s heaps of pieces. We also define and enumerate a superclass of direc ..."
Abstract
- Add to MetaCart
We define the directed King’s lattice to be the square lattice with diagonal (next nearest neighbor) bonds and with the preferred directions { , , , ,}. We enumerate directed animals on this lattice using a bijection with Viennot’s heaps of pieces. We also define and enumerate a superclass
Programming Objects with ML-ART -- An extension to ML with Abstract and Record Types
, 1994
"... Class-based objects can be programmed directly and efficiently in a simple extension to ML. The representation of objects, based on abstract and record types, allows all usual operations such as multiple inheritance, object returning capability, and message transmission to themselves as well as to ..."
Abstract
-
Cited by 58 (6 self)
- Add to MetaCart
Class-based objects can be programmed directly and efficiently in a simple extension to ML. The representation of objects, based on abstract and record types, allows all usual operations such as multiple inheritance, object returning capability, and message transmission to themselves as well
On the Recognition of Four-Directional Orthogonal Ray Graphs
"... Orthogonal ray graphs are the intersection graphs of horizontal and vertical rays (i.e. half-lines) in the plane. If the rays can have any possible orientation (left/right/up/down) then the graph is a 4-directional orthogonal ray graph (4-DORG). Otherwise, if all rays are only pointing into the pos ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Orthogonal ray graphs are the intersection graphs of horizontal and vertical rays (i.e. half-lines) in the plane. If the rays can have any possible orientation (left/right/up/down) then the graph is a 4-directional orthogonal ray graph (4-DORG). Otherwise, if all rays are only pointing
Representation Inheritance: A Safe Form of "White Box" Code Inheritance
- in Proceedings of the Fourth International Conference on Software Reuse
, 1995
"... Inheritance as a programming language mechanism can be used to achieve several different goals, both in terms of expressing relationships between components and in terms of defining new components "by difference" from existing ones. For defining new component implementations in terms of ex ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
of existing implementations, there are several approaches to using "code inheritance." Black box code inheritance allows subclasses to reuse superclass implementations as-is, without direct access to their internals. Alternatively, white box code inheritance allows subclasses to have direct access
Extending ordinary inheritance schemes to include generalization
, 1989
"... The arrangement of classes in a specialization hier-archy has proved to be a useful abstraction mech-anism in class-based object oriented programming languages. The success of the mechanism is based on the high degree of code reuse that is offered, along with simple type conformance rules. The oppos ..."
Abstract
-
Cited by 38 (1 self)
- Add to MetaCart
it possible to create super-classes for already exist-ing classes, hereby enabling exclusion of methods and creation of classes that describe commonalities among already existing ones. We will show how generalization can coexist with specialization in class-based object oriented pro-gramming languages
Towards a Quantitative Assessment of Method Replacement
- In Proceedings of the Fourth Euromicro Working Conference on Software Maintenance and Reengineering
, 2000
"... Object-oriented programming is about the creation of reusable classes that are to be extended to capture the specific requirements of the application at hand. However, instead of extending the methods of these classes, programmers often introduce subclasses in which they replace methods with new imp ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
implementations that are completely detached from the superclass; that is, the subclass method does not invoke, directly or indirectly, its counterpart in the superclass. In this paper, we apply the SPOOL environment to the reverse-engineered C++ source code of the ET++ application framework to investigate
Feature
"... abstract class cannot create new objects; it is a specification for instances of subclasses (through type inheritance.) A coclass can directly create objects by declaring a new object. A class cannot directly create objects, but objects of this class can be created as a property of another class or ..."
Abstract
- Add to MetaCart
abstract class cannot create new objects; it is a specification for instances of subclasses (through type inheritance.) A coclass can directly create objects by declaring a new object. A class cannot directly create objects, but objects of this class can be created as a property of another class
The Method Replacement Indicator: A Metric for Analyzing Behavioral Substitution
"... Object-oriented programming is about the creation of reusable classes that are to be extended to capture the specific requirements of the application at hand. However, instead of extending the methods of these classes, programmers often introduce subclasses in which they replace these methods with i ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
with implementations that are completely detached from the superclass; that is, the subclass method does not invoke, directly or indirectly, its counterpart in the superclass. In this paper, we apply the SPOOL environment to the reverse-engineered C++ source code of two industrial systems to investigate
What is Type-Safe Code Reuse?
, 1991
"... Subclassing is reuse of class definitions. It is usually tied to the use of class names, thus relying on the order in which the particular classes in a program are created. This is a burden, however, both when programming and in theoretical studies. This paper presents a structural notion of subclas ..."
Abstract
-
Cited by 12 (6 self)
- Add to MetaCart
of subclassing for typed languages. It is a direct abstraction of the Smalltalk interpreter and the separate compilation technique of Modula. We argue that it is the most general mechanism which can be supported by the implementation while relying on the type-correctness of superclasses. In short, it captures
Results 1 - 10
of
30