title: Object-oriented database puzzle?
body: <p>I'm currently taking an OOP class and here is my problem: </p>
  
  <p>Assume database for a bike rental: class 'bike' => sub-classes 'borrowed bike' and 'returned bike'. Borrowed bike has the additional field 'due date' and returned bike the field 'location'</p>
  
  <p>The task is to extend this database to treat all kinds of things you could borrow from the rental. However, the implementation needs to be as object-oriented as possible. I have been browsing through my Java book but I haven't been able to find a clever solution.  </p>
  
  <p>So, how can I add the functionality that every item (bike, roller skates, ...) is either 'borrowed' or 'returned' with the associated additional fields without having separate sub-classes for every type of item? </p>
  
  <p>(I suggested my teacher that the state of every 'item' is either 'borrowed' or 'returned' but I was told that this is not object-oriented enough) </p>
  
  <p>All help is appreciated!</p>