object-oriented design objectives to understand the process of object-oriented design to be able to read and understand object-oriented programs to understand the concepts of encapsulationpolymorphism and inheritance as they pertain to object-oriented design and programming to be able to design moderately complex software using object-oriented design the process of ood now that you know some data structuring techniquesit' time to stretch your wings and really put those tools to work most modern computer applications are designed using data-centered view of computing this so-called object-oriented design (oodprocess is powerful complement to top-down design for the development of reliablecost-effective software systems in this we will look at the basic principles of ood and apply them in couple of case studies the essence of design is describing system in terms of magical black boxes and their interfaces each component provides set of services through its interface other components are users or clients of the services client only needs to understand the interface of servicethe details of how that service is implemented are not important in factthe internal details may change radically and not affect the client at all similarlythe component providing the service does not have to consider how the service might be used the black box just has to make sure that the service is faithfully delivered this separation of concerns is what makes the design of complex systems possible in top-down designfunctions serve the role of our magical black boxes client program can use function as long as it understands what the function does the details of how the task is accomplished are encapsulated in the function definition