CS51 - Fall 2009 - Lecture 13
More discussion of interfaces
Lab 5 - Frogger:
Description: <
html
> <
pdf
>
Article by Kirschenbaum on Why humanities students should learn to program.
Hello Worlds
Object oriented design
Decomposing the world into objects
instance variables and constants represent properties
methods represent behaviors
A few things to think about
how accurately do you want to model reality?
are there instance variables / methods that you need that aren't for modelling reality, but which are necessary to get the code to work?
getters/setters?
Design of Frogger
What are the classes? What objects appear in the game?
Frog
Highway
Cars, trucks, etc
What are the properties of a frog? The behaviors?
location, appearance, whether it's alive
moving, dying, being reincarnated
What are the properties of a vehicle? The behaviors?
Note that frog and cars need to know about each other (note resemblance to Ball and Box classes from last lab)
What are the properties of a lane? The behaviors?
Think about how Lane and Vehicle resemble Tree and FallingLeaf from example in earlier lecture.
Note that this is not complete! Quite common to do initial design of a class and then to realize later than you need to add a little more to it, or to change it somehow, in order to get the overall program to work.