Map
Index
Random
Help
Topics
th

Topic: problems with type inheritance

topics > computer science > programming > object-oriented programming > Group: type inheritance



Topic:
interface type
Topic:
limitations of hierarchical structures
Topic:
non-hierarchical classification and multiple classification
Topic:
problem of classifying information
Topic:
structural equivalence vs. name equivalence of data types
Topic:
taxonomy
Topic:
type hierarchy
Topic:
weak vs. strong type checking

Summary

Inheritance does not hide information completely. Descendants of a class can access the implementation of a superclass. As a class hierarchy develops, information and functionality tends to move up the hierarchy where it is widely available. Without care, inheritance can increase the complexity of an application. (cbb 4/ 01)
Subtopic: avoid inheritance up

Quote: be careful of making members virtual; they cause subtle and complex observable behaviors and subclass interactions [»cwalK_2006]
Quote: class inheritance doesn't preserve encapsulation because functions are scattered among classes with many interdependencies [»wyboN4_1990]
Quote: limit application developers to aggregation and encapsulation; only experts should subclass via inheritance and additive specialization
Quote: descendants of a class gains access to its implementation; may redefine as needed [»meyeB9_1990]
Quote: components involved in inheritance had six times more defects than those without [»hattL5_1998]
Quote: implementation inheritance is a bad idea that binds implementations together so that all classes must be understood together; like 'goto' statements [»oustJK3_1998]
Quote: if add or modify a subclass must retest all inherited methods; they have a new context [»perrDE1_1990]
Quote: inheritance hides the effect of change through a complicated, inheritance model; non-inheritance is more direct [»perrDE1_1990]

Subtopic: inheritance not natural up

Quote: in paper solutions, entities have state and they respond to requests for action; but no use of inheritance or polymorphism; object-oriented is not natural [»paneJF2_2001]
Quote: the use of inheritance for conceptual specialization is rarely realized [»taivA9_1996]
Quote: rich subclassing of objects may be undesirable; users don't need the derivation and most find the process frustrating [»pausR10_1992]

Subtopic: information moves to root up

Quote: with single inheritance, shared information tends to move towards the root of the tree; root classes become a global name space and a muddle [»stroB_1991]
Quote: functional decomposition is insufficient for data abstraction because interesting data needs to be global; like single inheritance [»stroB_1991]

Subtopic: what is inheritance? up

Quote: although inheritance is central to object-oriented programming, researchers rarely agree on its meaning and usage [»taivA9_1996]

Subtopic: cancellation up

Quote: with cancellation, Clyde the elephant could be just about anything, including a giraffe; the Elephant node is just a collection of properties [»bracRJ10_1983]

Subtopic: templates and inheritance up

Quote: templates and type inheritance need each other. Without templates, derivation of similar class is tedious; without inheritance, templates lead to massive replication

Subtopic: execution contexts up

Quote: encapsulation and inheritance requires more testing because methods have more execution contexts; antidecomposition

Subtopic: which class is executed? up

Quote: Smalltalk's inheritance mechanism makes it difficult to find which method is executed, especially if the receiver's class is unknown [»nielJ5_1989, OK]

Subtopic: different types with same operations up

Quote: use properties to distinguish types that have the same operations; e.g., the property 'LIFO' for type 'stack'; simulate with dummy functions [»rodrNR8_1993]

Subtopic: inheritance as implementation up

Quote: IS-A links should be independent of inheritance; inheritance is a implementation issue
[»bracRJ10_1983]

Related Topics up

Topic: interface type (50 items)
Topic: limitations of hierarchical structures (10 items)
Topic: non-hierarchical classification and multiple classification (16 items)
Topic: problem of classifying information (42 items)
Topic: structural equivalence vs. name equivalence of data types (30 items)
Topic: taxonomy (16 items)
Topic: type hierarchy (18 items)
Topic: weak vs. strong type checking
(42 items)

Updated barberCB 3/06
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.