• Corpus ID: 15513802

Do We Need Inheritance

  title={Do We Need Inheritance},
  author={Wolfgang Weck and Clemens A. Szyperski},
Object-oriented programming rests on four pillars: polymorphism, late binding, encapsulation, and inheritance. Of these, inheritance is the one most controversially discussed. Various problems have been stated, that occur when inheritance is used for object composition, modification, and extension. These problems are caused by the possibility to override single methods of the inherited object, thereby changing it rather than reusing it as a whole. This possibility contradicts actually the… 

Genericity, extensibility and type : safety in the VISITOR pattern

This thesis will argue for the importance of the parametrization mechanisms provided by GP, and in particular DGP, in COP, and defend that many design patterns can be captured as software components when using such kinds of parammetrization.

Migrating large object-oriented Applications into component-based ones: instantiation and inheritance transformation

This paper proposes an approach to automatically transform object-oriented applications to component-based ones, and focuses on the transformation of source code related to instantiation and inheritance dependencies between classes that are in different components.

An inheritance system for structural & behavioral reuse in component-based software programming

This paper describes a specification and an operational integration of an inheritance system into a self-contained new component-based programming language named Compo, and proposes a clear operational solution for inheritance and for achieving and testing substitutions.

Du découpage à l'assemblage non anticipé de composants : Conception et mise en oeuvre du langage à composants Scl

Les composants logiciels sont des entites logicielles reutilisables promettant une reduction des couts lies au developpement, a la maintenance et a l'evolution d'un logiciel. Actuellement, de

Leadership Style's influence on workforce productivity

The objective of this study is to analyze and examine instructive, consultative, participatory and delegative leadership styles on the productivity of employee work. This study, with a population and



Typing the specialization interface

It is shown how typing systems can be extended to describe the internal interdependencies among a class’s methods, and a new relationship among the client interface, the specialization interface, and inheritance is suggested.

Engineering a Programming Language: The Type and Class System of Sather

Issues surrounding inheritance and subtyping and the decision to explicitly separate them in Sather are described and related to approaches taken in other languages.

SELF: The power of simplicity

Because SELF does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures, and offers new insights into object-oriented computation.

Object-Oriented Programming in Oberon-2

This paper concentrates on type-bound procedures which make Oberon-2 an object-oriented language with dynamically-bound messages and strong type checking at compile time.

Designing Reusable Classes

This paper describes what it is like to design systems in Smalltalk and how classes are developed so that they will be reusable.

Synchronizing Actions

The model provides a clearer separation of concurrency control and implementation details than all existing approaches, and is focused on concurrent object-oriented programming languages (COOPL) that support the concurrency model of active objects as the concurrently executing entities.

Delegation is inheritance

This paper demonstrates that there is a “natural” model of inheritance which captures all of the properties of delegation and outlines a new framework which fully captures both delegation and inheritance.

Design Patterns

This book offers an easy-to-reference library of design patterns as well as some principles of object-oriented programming to help readers become better designers.

Eiffel: The Language

The Java Language Specification

The Java Language Specification, Second Edition is the definitive technical reference for the Java programming language and provides complete, accurate, and detailed coverage of the syntax and semantics of the Java language.