Inheritance, subtyping and the is-a relationship (PhD Transfer Report)
Inheritance, subtyping and is-a are different relationships all of which have many interpretations. Moreover, definitions of each of the relationships often involve one of the other two. An attempt has been made to distinguish some of these interpretations in order to clarify the meaning of inheritance. Identification of the is-a relationship has proved particularly difficult. Although many class-based object-oriented programming languages adopt the subtype relationship as the basis for inheritance, the F-bound relationship is found to be a better model of the evolution of type under inheritance. Future work will be directed towards establishing what effect a F-bound view of inheritance has on the is-a relationship and on the inheritance relationship in object-oriented system development as a whole.