Classes may contain objects of other class types as instance variables. Both composition and inheritance accommodate a more natural construction of complex classes and allows reuse of code. Bob Hathaway of Geodesic Systems Inc has compiled an OO Frequently Asked Questions page. The web site covers basic OO terminology and concepts in a technical and abstract manner. The information is of a theoretical nature and often includes discussion of how concepts differ amongst object oriented languages.
Objects interact and communicate with each other by sending and receiving requests or messages.
Classes are designed to accommodate all possible use cases that will arise in the application. Benefits of OO Why OO helps, especially on large projects like BaBar software. Object Oriented programming offers a powerful model for writing computer software. This approach speeds the development of new programs, and, if properly used, improves the maintenance, reusability, and modifiability of software. Encapsulation of the instance variables and methods of a class behind an interface provides protection and control.