In this lesson we stop and put all that we've learned this week into action. We'll complete another object modeling exercise together. But this time, we'll make use of inheritance, polymorphism, and other new ideas that we recently learned. Welcome back!
But, as we frequently do, let's warm up with another graded debugging challenge!
Last time we did a game, and I said: I'm sorry we're doing a game. This time we're going to do something that may seem a bit like navel-gazing. And I'll say: I'm sorry we're doing something course-related. This is what I think about!
So let's model office hours.
One way to begin object modeling is to think about what kind of entities we need to model and what kind of relationships they should have with each other. Let's start there:
Next, let's consider the kind of actions and methods that our objects need to support. That will help guide us as we add required instance variables.
Next, we'll pick a pair of the methods on our
Room class to implement.
Finally, we'll finish at least a preliminary implementation of our office hours model. And then discuss how you could extend and improve it!
Need more practice? Head over to the practice page.