A semantics of multiple inheritance.
Proc. of the international symposium on Semantics of data types
Programming in MODULA-2 (3rd corrected ed.)
Programming in MODULA-2 (3rd corrected ed.)
Conceptual structures: information processing in mind and machine
Conceptual structures: information processing in mind and machine
The world of programming languages
The world of programming languages
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
CommonLoops: merging Lisp and object-oriented programming
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Oaklisp: an object-oriented scheme with first class types
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Encapsulation and inheritance in object-oriented programming languages
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Using prototypical objects to implement shared behavior in object-oriented systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Deltatalk: an empirically and aesthetically motivated simplification of the Smalltalk-80 language
European conference on object-oriented programming on ECOOP '87
Using types and inheritance in object-oriented languages
European conference on object-oriented programming on ECOOP '87
The Common Lisp object system: an overview
European conference on object-oriented programming on ECOOP '87
An object modelling technique for conceptual design
European conference on object-oriented programming on ECOOP '87
Inheritance and subtyping in a parallel object-oriented language
European conference on object-oriented programming on ECOOP '87
On some algorithms for multiple inheritance in object-oriented programming
European conference on object-oriented programming on ECOOP '87
The object-oriented classification paradigm
Research directions in object-oriented programming
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Instance inheritance mechanisms for object oriented databases
Lecture notes in computer science on Advances in object-oriented database systems
What object-oriented programming may be - and what it does not have to be
on ECOOP '88 (European Conference on Object-Oriented Programming)
Teaching object-oriented programming is more then teaching object-oriented programming languages
on ECOOP '88 (European Conference on Object-Oriented Programming)
Inheritance as an incremental modification mechanism or what like is and isn'tlike
on ECOOP '88 (European Conference on Object-Oriented Programming)
Name collision in multiple classification hierarchies
on ECOOP '88 (European Conference on Object-Oriented Programming)
A programmer's guide to object-oriented programming in Common LISP
A programmer's guide to object-oriented programming in Common LISP
Type theories and object-oriented programmimg
ACM Computing Surveys (CSUR)
Data abstraction mechanisms in SINA/ST
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Object-oriented programming: an objective sense of style
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Keynote address - data abstraction and hierarchy
OOPSLA '87 Addendum to the proceedings on Object-oriented programming systems, languages and applications (Addendum)
Objects as closures: abstract semantics of object-oriented languages
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Designing families of data types using exemplars
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Information Systems (TOIS)
A shared view of sharing: the treaty of Orlando
Object-oriented concepts, databases, and applications
A proposal for making Eiffel type-safe
The Computer Journal - Special issue on object-oriented programming
A compositional model for software reuse
The Computer Journal - Special issue on object-oriented programming
Virtual classes: a powerful mechanism in object-oriented programming
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Extending ordinary inheritance schemes to include generalization
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
A denotational semantics of inheritance and its correctness
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
The annotated C++ reference manual
The annotated C++ reference manual
Understanding object-oriented: a unifying paradigm
Communications of the ACM
COCS '90 Proceedings of the ACM SIGOIS and IEEE CS TC-OA conference on Office information systems
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Strong typing of object-oriented languages revisited
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Type substitution for object-oriented programming
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
A record calculus based on symmetric concatenation
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Smalltalk: subclassing subtyping is-a
Journal of Object-Oriented Programming
Parents are shared parts of objects: inheritance and encapsulation in SELF
Lisp and Symbolic Computation
Object-oriented modeling and design
Object-oriented modeling and design
ACM Computing Surveys (CSUR)
Separating the subtype hierarchy from the inheritance of implementation
Journal of Object-Oriented Programming
Interfaces and specifications for the Smalltalk-80 collection classes
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Prototype-based languages: from a new taxonomy to constructive proposals and their validation
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
The programming language jigsaw: mixins, modularity and multiple inheritance
The programming language jigsaw: mixins, modularity and multiple inheritance
Journal of Systems and Software
Object-oriented programming with prototypes
Object-oriented programming with prototypes
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Database abstractions: aggregation and generalization
ACM Transactions on Database Systems (TODS)
OOPWORK '86 Proceedings of the 1986 SIGPLAN workshop on Object-oriented programming
Enhancement for multiple-inheritance
OOPWORK '86 Proceedings of the 1986 SIGPLAN workshop on Object-oriented programming
Proceedings of the 1986 SIGPLAN workshop on Object-oriented programming
OOPWORK '86 Proceedings of the 1986 SIGPLAN workshop on Object-oriented programming
Classes versus prototypes in object-oriented languages
ACM '86 Proceedings of 1986 ACM Fall joint computer conference
Why properties are objects or some refinements of “is-a”
ACM '86 Proceedings of 1986 ACM Fall joint computer conference
Database abstractions: aggregation
Communications of the ACM
Program development by stepwise refinement
Communications of the ACM
Concepts and paradigms of object-oriented programming
ACM SIGPLAN OOPS Messenger
Abstraction mechanisms in the BETA programming language
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Smalltalk-80: The Language
Assuring Good Style for Object-Oriented Programs
IEEE Software
Modeling the C++ Object Model, An Application of an Abstract Object Model
ECOOP '91 Proceedings of the European Conference on Object-Oriented Programming
Object-Oriented Multi-Methods in Cecil
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Message Dispatch on Pipelined Processors
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Association: A Database Abstraction for Semantic Modelling
ER '81 Proceedings of the Second International Conference on the Entity-Relationship Approach to Information Modeling and Analysis
Abstraction Concepts: The Basis for Data and Knowledge Modeling
Proceedings of the Seventh International Conference on Enity-Relationship Approach: A Bridge to the User
Designing an Object-Oriented Programming Language with Behavioural Subtyping
Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages
Aggregation in a Behaviour Oriented Object Model
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
Efficient implementation of the smalltalk-80 system
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The development of the SIMULA languages
ACM SIGPLAN Notices - Special issue: History of programming languages conference
A denotational semantics of inheritance
A denotational semantics of inheritance
Structured programming
The GAP 4 type system: organising algebraic algorithms
ISSAC '98 Proceedings of the 1998 international symposium on Symbolic and algebraic computation
Toward a model of type inheritance
Communications of the ACM
An Aristotelian understanding of object-oriented programming
OOPSLA '00 Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A software engineering perspective on algorithmics
ACM Computing Surveys (CSUR)
Object-oriented composition untangled
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Apportioning: A Technique for Efficient Reachability Analysis of Concurrent Object-Oriented Programs
IEEE Transactions on Software Engineering - Special section on the seventh international software metrics symposium
Using mixins to build flexible widgets
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Object modelling languages: An evaluation and some key expectations for the future
Annals of Software Engineering
On type systems for object-oriented database programming languages
ACM Computing Surveys (CSUR)
Process Specialization: Defining Specialization for State Diagrams
Computational & Mathematical Organization Theory
Research Frontiers in Object Technology
Information Systems Frontiers
Implementation of multiple attribute grammar inheritance in the tool LISA
ACM SIGPLAN Notices
SUAVE: Extending VHDL to Improve Data Modeling Support
IEEE Design & Test
Declarative Programs with Implicit Implications
IEEE Transactions on Knowledge and Data Engineering
Supporting evolution of interface exceptions
Advances in exception handling techniques
The Recursive Record Semantics of Objects Revisited
ESOP '01 Proceedings of the 10th European Symposium on Programming Languages and Systems
An Object Model for General-Purpose Aspect Languages
GCSE '01 Proceedings of the Third International Conference on Generative and Component-Based Software Engineering
Supporting Evolution of Interface Exceptions
Advances in Exception Handling Techniques (the book grow out of a ECOOP 2000 workshop)
Hierarchies in Object Oriented Conceptual Modeling
OOIS '02 Proceedings of the Workshops on Advances in Object-Oriented Information Systems
A Framework to Translate UML Class Generalization into Java Code
OOIS '02 Proceedings of the 8th International Conference on Object-Oriented. Information Systems
Architecture, design, implementation
Proceedings of the 25th International Conference on Software Engineering
BUS: A Browser Based User Interface Service for Web Based Applications
AUIC '00 Proceedings of the First Australasian User Interface Conference
Automating Delegation in Class-Based Languages
TOOLS '00 Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS 34'00)
Defining specialization for dataflow diagrams
Information Systems
Applying traits to the smalltalk collection classes
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Methodology first and language second: a way to teach object-oriented programming
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Evaluating UML using a generic quality framework
UML and the unified process
Process inheritance and instance modification
GROUP '03 Proceedings of the 2003 international ACM SIGGROUP conference on Supporting group work
The recursive record semantics of objects revisited
Journal of Functional Programming
Data & Knowledge Engineering - Special issue: Advances in business process management
Reflective composition: the declarative composition of roles to unify objects, roles, and aspects
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Traits: experience with a language feature
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Inheritance processing and conflicts in structural generalization hierarchies
ACM Computing Surveys (CSUR)
Z0 - a tiny experimental language
ACM SIGPLAN Notices
Traits: A mechanism for fine-grained reuse
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 2006 international workshop on Software engineering for automotive systems
Programming in the MPL-RM programming language
Proceedings of the 43rd annual Southeast regional conference - Volume 2
Teaching inheritance concepts with Java
PPPJ '06 Proceedings of the 4th international symposium on Principles and practice of programming in Java
Using resemblance to support component reuse and evolution
Proceedings of the 2006 conference on Specification and verification of component-based systems
Modeling from a semiotic perspective
MIS '05 Proceedings of the 2005 symposia on Metainformatics
Graphical inheritance notation for state-based classes
Programming and Computing Software
Component-based software development with component variants
SE'07 Proceedings of the 25th conference on IASTED International Multi-Conference: Software Engineering
Tailoring information systems: an approach based on services and service composition
International Journal of Information Technology and Management
Exploring accessibility and visibility relationships in java
Proceedings of the 13th annual conference on Innovation and technology in computer science education
How Do Java Programs Use Inheritance? An Empirical Study of Inheritance in Java Software
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Feature featherweight java: a calculus for feature-oriented programming and stepwise refinement
GPCE '08 Proceedings of the 7th international conference on Generative programming and component engineering
A Model for Describing and Annotating Documents
Proceedings of the 2006 conference on Information Modelling and Knowledge Bases XVII
A Modern Integration of Cognitive and Computer Sciences
UAHCI '09 Proceedings of the 5th International Conference on Universal Access in Human-Computer Interaction. Addressing Diversity. Part I: Held as Part of HCI International 2009
Generating safe template languages
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Study of MA protection technology of extending inheritance hierarchy trees in IDC network management
CCDC'09 Proceedings of the 21st annual international conference on Chinese Control and Decision Conference
Proceedings of the 9th International Conference on Aspect-Oriented Software Development
Approaches for inheritance in the TMO programming scheme
Proceedings of the 12th Monterey conference on Reliable systems on unreliable networked platforms
A modeling language's evolution driven by tight interaction between academia and industry
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Generating a catalog of unanticipated schemas in class hierarchies using Formal Concept Analysis
Information and Software Technology
A replicated and refined empirical study of the use of friends in C++ software
Journal of Systems and Software
Multiformalism and transformation inheritance for dependability analysis of critical systems
IFM'10 Proceedings of the 8th international conference on Integrated formal methods
Metamodeling semantics of multiple inheritance
Science of Computer Programming
Delegation by object composition
Science of Computer Programming
Integrating OCL and textual modelling languages
MODELS'10 Proceedings of the 2010 international conference on Models in software engineering
A comparison of rule inheritance in model-to-model transformation languages
ICMT'11 Proceedings of the 4th international conference on Theory and practice of model transformations
The keyword revolution: promoting language constructs for data access to first class citizens
Proceedings of the 1st International Workshop on Free Composition
A theory of classes from the theoretical foundations of LePUS3
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
Object reuse and behavior adaptation in Java-like languages
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
A proxy-based dynamic inheritance of soft-device
GCC'05 Proceedings of the 4th international conference on Grid and Cooperative Computing
A role-based approach towards modular language engineering
SLE'09 Proceedings of the Second international conference on Software Language Engineering
Soft-device inheritance in the knowledge grid
AIS-ADM 2005 Proceedings of the 2005 international conference on Autonomous Intelligent Systems: agents and Data Mining
Dimensions of composition models for supporting software evolution
SC'06 Proceedings of the 5th international conference on Software Composition
Incremental programming language development
Computer Languages, Systems and Structures
An optimal data structure to handle dynamic environments in non-deterministic computations
Computer Languages, Systems and Structures
An inheritance system for structural & behavioral reuse in component-based software programming
Proceedings of the 11th International Conference on Generative Programming and Component Engineering
A higher abstraction level using first-class inheritance relations
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Efficient support of dynamic inheritance for class- and prototype-based languages
Journal of Systems and Software
Transactions on Aspect-Oriented Software Development IX
Automatic testing of sequential and concurrent substitutability
Proceedings of the 2013 International Conference on Software Engineering
An object-oriented approach to language compositions for software language engineering
Journal of Systems and Software
What programmers do with inheritance in java
ECOOP'13 Proceedings of the 27th European conference on Object-Oriented Programming
An object-oriented parallel programming language for distributed-memory parallel computing platforms
Science of Computer Programming
Hi-index | 0.02 |
One of the most intriguing—and at the same time most problematic—notions in object-oriented programing is inheritance. Inheritance is commonly regarded as the feature that distinguishes object-oriented programming from other modern programming paradigms, but researchers rarely agree on its meaning and usage. Yet inheritance of often hailed as a solution to many problems hampering software development, and many of the alleged benefits of object-oriented programming, such as improved conceptual modeling and reusability, are largely credited to it. This article aims at a comprehensive understanding of inheritance, examining its usage, surveying its varieties, and presenting a simple taxonomy of mechanisms that can be seen as underlying different inheritance models.