Lab 7

Connected Classes

This week we’ve added some class to our programs, moving us into the Object-Oriented Programming (OOP) paradigm. Objects are yet another abstraction that we can add to our toolbox. They let us represent distinct entities with their own properties (attributes) and abilities (methods).

In this lab, you’ll be writing your own classes, testing them, and then seeing how we can use them in different applications.

Goals

  • Practice creating your own classes
  • Practice testing your own classes
  • Use classes in two different application domains
  • Work with command line arguments
  • Practice using input validation

Permitted Functions

Below is a list of the functions you are allowed to use in this lab. Generally, the rule is if you can use it in a previous lab, you can use it in this lab. If there is something you want to use but it isn’t listed here, first check if it is on your class slides / runestone and if it’s not there ask your professor.

  • __init__()
  • __eq__()
  • random.seed()
  • sys.argv[]
  • class