Classes support a powerful programming model by encapsulating related functionality into objects . The benefit of organized code is especially important for maintenance, where changes or enhancements can be limited to the objects that are affected by the change. Classes enhance code reuse.