Imagine two school students, "Arthur" and "Martha". Both of them are going to provide services to their school, and community, and both will require some things as well (from their families). They are going to be both "used" by various Actors, who see them as Interfaces from different points of view:
- Since both are at school they will have to be able to be educated by a Teacher (we hope), who will make them study(), swat(), research(), and sitExams(), activities which are supposed to help them Learn.
- They both do sport for Exercise and have a Trainer (who will make them run(), jump(), skip() and swim()).
- They both earn some money on the side in the kitchen of a local hotel run by a KitchenManager, who will ask them to Cook: fry(), stir(), and bake(). (Note that the KitchenManager is not very interested in how either of them can skip() or run(), let alone their ways of swat()ing for exams.)
And they are going to "use" the services of their Parents, who Support them by feed()ing them both with Food and imburse()ing them some pocket Money (presumably their sport classes cost more than they earn at with their hotel kitchen job).
We can represent the interaction of these Actors with different Interfaces as shown below, without yet specifying how those services will be encapsulated ! (We will compare the different encapsulation strategies of "poor portless Arthur" and "smarter Martha" next).

