CS 227 lecture -*- Outline -*- * intro to object-oriented programming Important technique for organizing programs and for doing ADTs. ** ADTs Problem with ADT implementations so far: no way to keep clients from getting low level access. important if want to change rep can do it without looking at any client code was just a convention, no way to enforce ** organization want to be able to easily customize and change programs need ADTs for this, but don't want to write them from scratch all the time. so another way not to write the same thing twice: delegation (similar to inheritance)