In object oriented programming, a program is modeled as a collection of cooperating objects
- program behavior is determined by group interactions
- group interactions are determined by individuals
In OOP, objects are anthropomorphic
- each is "smart" in its own way
- i.e. bed can make itself, door can open itself, menu can let selections be picked
- but, each must be told when to perform actions by another object
- so objects must cooperate to accomplish task
what is all this jargon?
Each object represents an abstraction
- hides details you do not care about
- allows the programmer to control program's complexity--to only think about salient features
Write programs by modeling program as set of components
- programmer determines what the building blocks are and then puts them together so they cooperate properly
( i write | i program | i have a homepage | i take an english class )