Story

Application

Story

Application

Story

Application

Story

Application

Episode 1: Abstractions on the mind

About this episode

Meet Jane Jones, a world famous OOP Researcher in OOP Programming. While on another expedition for the Secret Treasure of OOP, once again the trail runs cold. But this time, she stumbles upon a clue - an Ancient Relic, enscribed in OOP knowledge from days past hints at a new oppourtunity. What will develop from this finding?

As always, answers for the following questions can be found in the about section.

Practice Questions

  • 1. Consider an application system controlling a bank, and one controlling a Game Console.

    What different attributes would an Account class have in each of these examples?
    Try producing UML diagrams for each class.
  • 2. Consider an application to organise books in a bookstore, and an application used to manage book printing orders

    What different attributes would a Book class have in each of these examples?
    Try producing UML diagrams for each class.
  • 3. Consider an application to manage printing documents, and an application to display documents.

    What different attributes would a Document class have in each of these examples?
    Try producing UML diagrams for each class.
  • Story Questions

    For these questions, you will need to download the following application: Application Link

  • 1. Using the template provided, try making your own book abstraction.

    For now, try just including title. Once you are done, load it into the application, and view the results.
    Template Link
  • 2. It looks like some customers want to specify books by more than just their titles.

    Try improving your abstraction by adding more fields.
  • 3. Making an abstraction more specific is not always a good thing.

    Try adding some irrelevant attributes to your abstraction, such as colour.
    Why is this a bad decision?
  • 4. Extension Question: Try building your own book record.

    If you feel confident about the material covered so far, try building your own book managing system. Don't worry about making it like a library system, just build a simple system to manage personal books. Start with the Book class then make a BookManager class - use an ArrayList of Books and then add methods for searching, removing and adding books.
    If you've managed all that, try adding a feature to keep track of loaned books.
    Through this process you will learn how complex systems are built iteratively.