19 Abstraction and Polymorphism

19.1 Polymorphism

19.2 Inclusion Polymorphism (Inheritance and Subtyping)

    19.2.1 private Visibility and Inheritance

    19.2.2 Protected Visibility

    19.2.3 Calling Methods on the Supertype

    19.2.4 Anonymous Classes

    19.2.5 Abstract Classes

    19.2.6 traits

    19.2.7 final

    19.2.8 Method Resolution

    19.2.9 Inheriting from Function Types

19.3 Inheritance in the Project

    19.3.1 Drawables

    19.3.2 Integration with Drawing

19.4 Parametric Polymorphism

    19.4.1 Parametric Types

    19.4.2 Parametric Functions and Methods

    19.4.3 Type Bounds