On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Inheritance as an incremental modification mechanism or what like is and isn'tlike
on ECOOP '88 (European Conference on Object-Oriented Programming)
Keynote address - data abstraction and hierarchy
OOPSLA '87 Addendum to the proceedings on Object-oriented programming systems, languages and applications (Addendum)
Reasoning about object-oriented programs that use subtypes
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
The art of metaobject protocol
The art of metaobject protocol
Rationale for the design of the Ada programming language
Rationale for the design of the Ada programming language
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
Eiffel: the language
Object-oriented languages, systems and applications
Object-oriented languages, systems and applications
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
What orientation should Ada objects take?
Communications of the ACM
Object-oriented programming with mixins in Ada
ACM SIGAda Ada Letters
ACM SIGPLAN Notices
ROMAN-9X: a technique for representing object models in Ada 9X notation
TRI-Ada '93 Proceedings of the conference on TRI-Ada '93
Object-oriented analysis and design with applications (2nd ed.)
Object-oriented analysis and design with applications (2nd ed.)
Advanced object-oriented features and programming in Ada 95
Tutorial proceedings on TRI-Ada '91: Ada's role in global markets: solutions for a changing complex world
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Object-Oriented Multi-Methods in Cecil
ECOOP '92 Proceedings of the European Conference on Object-Oriented Programming
A New Definition of the Subtype Relation
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Ada 95 as implementation language for object-oriented designs
Proceedings of the conference on TRI-Ada '95: Ada's role in global markets: solutions for a changing complex world
The composition of abstractions: evolution of software component design with Ada 95
Proceedings of the conference on TRI-Ada '95: Ada's role in global markets: solutions for a changing complex world
Hi-index | 0.00 |
Ada 9X refines the Ada 83 concept of class and introduces class-wide types to support run-time polymorphism. We study how the Ada definition of class compares to other definitions of this term. We examine how run-time polymorphism is introduced in Ada 9X, how it relates to the different concepts of subtype, and how it compares with other forms of polymorphism. We also discuss the different uses of class-wide types, mainly as a means for dynamic binding (dispatching). However, since Ada 9X has adhered to the philosophy of building blocks, class-wide entities can be used for other purposes than dispatching. These uses are idioms that every programmer should be aware of. Some of these idioms are presented here. We also examine how classes are integrated with generics.