1 Expressive , Efficient Instance Variables

The decoupling of clients of abstractions from the implementations of those abstractions is a key benefit of objectoriented programming. However, many object-oriented languages provide instance variables in such a way that implementation-level representation decisions seep through interfaces, introducing coupling between clients and abstractions. As part of… (More)