abstract ;;Quote: although inheritance is central to object-oriented programming, researchers rarely agree on its meaning and usage
|
439 ;;Quote: inheritance allows the creation of a new class from existing classes; i.e., incremental program development
|
440 ;;Quote: inheritance is record combination; the record for a new class is like its parent's record, but extended with new properties
|
441 ;;Quote: object-oriented programming originated from Simula for modeling the concepts of an application domain
|
441+;;Quote: inheritance represents conceptual specialization of a model
|
441 ;;Quote: object-oriented programming directly supports abstraction by classification/instantiation, aggregation/decomposition, generalization/specialization, grouping/individualization
|
442 ;;Quote: object-oriented languages support aggregation/decomposition by using an object as a variable of another object
|
442 ;;Quote: object-oriented programming supports grouping/individualization by defining arbitrary collection classes such as lists and dictionaries
|
447 ;;Quote: the use of inheritance for conceptual specialization is rarely realized
|
452 ;;Quote: without late binding, newly defined components may not work with inherited operations; needed for incremental development
|
455 ;;Quote: inheritance with late binding, self-reference, and super-reference allows objects to be reused without textual copying or editing; a new way to write programs
|
455+;;Quote: late binding and self-reference allow a programmer to change object behavior without access to its representation
|
455+;;Quote: super-reference allows access to redefined properties without code duplication
|
459 ;;Quote: within computer memory, only reference and contiguity can express direct relationships
|
459 ;;Quote: implement inheritance by delegation or by concatenation; i.e., use reference to share an interface, or use contiguity to copy an interface
|
461 ;;Quote: inheritance by delegation allows changes to a parent node to automatically apply to descendants
|
466 ;;Quote: modify the behavior of an object with traits, dynamic inheritance, or modes; e.g., distinguish open and iconified windows
|
468 ;;Quote: selective inheritance blurs the distinction between parents and methods; i.e., a descendant can use a subset of a parent's identifiers as its own
|
469 ;;Quote: a mixin class implements properties solely for use in other classes; create a new class by combining mixins
|
471 ;;Quote: inheritance is synonymous with receiving; the parent and descendent share something with each other
|
741 ;;Quote: in object-oriented programs, inheritance means that the same compiled code is shared by descendents
|
472 ;;Quote: inheritance of state allows a parent to share or duplicate its variables with its descendents
|
472+;;Quote: in class-based systems, a class inherits the structure of the parent but not its contents or state
|
472 ;;Quote: most object-oriented systems use single dispatching; i.e., a message is sent to one object; e.g., "5+4" is 5.plus(4)
|
472+;;Quote: single dispatching does not match binary operations; e.g., possible code duplication for mixed integer and floating point arithmetic
|
473 ;;Quote: single dispatching encourages the definition of abstract data types; multiple dispatching does not
|
474 ;;Quote: object-oriented inheritance allows the extension and refinement of existing code without modifying the code. This is the essence of inheritance
|