Lecture 10: Inheritance and Other Relationships

This lecture considers the different types of relationship that can exist between classes and looks at their representation in UML and code. It starts with association, which expresses a collaboration between classes, before moving on to consider composition and aggregation, which represent the relationship between a 'whole thing' and its component parts. The bulk of the lecture focuses on inheritance as an expression of the 'is a kind of' relationship. The details of how inheritance works in Java are explored, using a small example.