CS 4448 - Fall 1998
Object-Oriented Programming and Design
Talk 11.1

By

Brad Bailey

Towards the Clarification of the Object-Oriented Concepts

By

Dr Rose Mazhindu-Shumba

 

 

The author accomplishes this task by dividing the above concepts into the following three groups:

Abstraction, information hiding, and encapsulation are the three concepts that appear during the analysis and design of a system.

Abstraction - Abstraction draws a line around an object, where inside the boundary are the necessary characteristics of the object. By defining a boundary we can correctly define an object so that we can focus our attention on the real issues and not be diverted by unnecessary details.

Information Hiding - Information hiding is the principle stipulating that users of a software component need to know only the essential details of how to utilize a access the component.

Encapsulation- Encapsulation is a way of packaging information in such a way as to hide what should be hidden and make visible what is intended to be made visible.

Classes and Instances - A class describes a set of entities, which can be real or abstract.

Inheritance - Inheritance is a relationship between classes where one class is the parent (base, superclass, ancestor) class of another.

Two basic ways of using inheritance:

Types of Inheritance:

Polymorphism and dynamic binding - Polymorphism means to take many forms. In object-oriented programming this refers to the ability of an entity to refer at run time to instances of various classes.

Two forms or polymorphism:

Using the concepts of abstraction, information hiding and encapsulation to come up with well-designed classes will help to provide modular decomposition of a system as well as many other qualities expected of reusable software components. These concepts alone however are not enough to achieve the goals of reusability and extensibility. Inheritance is the feature that links the above concepts with the qualities expected of reusable software components. Full use of inheritance requires the cooperation of the concepts, information hiding, encapsulation, abstraction, and polymorphism.



Copyright © University of Colorado. All rights reserved.
Revised: Novemeber 10, 1998