Title :
Uses and abuses of inheritance
Author :
Armstrong, James M. ; Mitchell, Richard J.
Author_Institution :
Dependable Comput. Syst. Centre, Newcastle upon Tyne Univ., UK
fDate :
1/1/1994 12:00:00 AM
Abstract :
For several years, software engineers have debated the impact that inheritance mechanisms have on software development. Inheritance can be ignored until coding begins, or it can be used early during analysis to model conceptual abstractions; specifically, IS A relations between classes in a problem domain. Unfortunately, the conceptual structuring relevant to analysis can conflict with the practice of code reuse. We explain why this conflict arises and suggest ways of dealing with it. We review the basic facilities provided by inheritance mechanisms in object-oriented programming languages and survey their use in programming. Legitimations for the use of inheritance are described and evaluated. We conclude with a tentative proposal for the development of more powerful inheritance mechanisms
Keywords :
inheritance; object-oriented languages; object-oriented programming; IS A relations; conceptual abstractions; conceptual structuring; inheritance mechanisms; object-oriented programming languages; problem domain; software engineers;
Journal_Title :
Software Engineering Journal