Example: generalize
Topping to PizzaOption, to allow other options in the future:
◦Topping ISA PizzaOption
◦Shape ISA PizzaOption, …
Then a PizzaOrder can have a collection of
PizzaOptions
◦We can process the PizzaOptions generically, but when
necessary, be sensitive to their
subtype: Topping or Shape
◦It is important to have “polymorphic associations”, such as
PizzaOrder to PizzaOption, that deliver the right subtype
object when followed.
Inheritance is supported
directly in Java, C#, etc., ISA “relationship”
Inheritance is not native
to RDBs, but part of EER, extended entity-relationship modeling, long-known schema-mapping problem