Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.
DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.
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.