Instead of having ColorPoint extend Point, give ColorPoint a private Point field and a public view method (Item 6) that returns the point at the same position as this color point:
This example doesn’t actually use the ‘view’ method, asPoint() though....