Skip to main content

Encapsulation and Information Hiding


  • Data can be encapsulated such that it is invisible to the “outside world”.
  • Data can only be accessed via methods.


  • What the “outside world” cannot see it cannot depend on!
  • The object is a “fire-wall” between the object and the “outside world”.
  • The hidden data and methods can be changed without affecting the “outside world”. 


Comments

Post a Comment

Popular posts from this blog

Generalization and Specialization

Generalization creates a concept with a broader scope. Specialization creates a concept with a narrower scope. Reusing the interface!  Inheritance: get the interface from the general class. Objects related by inheritance are all of the same type.

The Class Concept

A class is a collection of objects (or values) and a corresponding set of methods.  A class encapsulates the data representation and makes data access possible at a higher level of abstraction. Example 1: A set of vehicles with operations for starting, stopping, driving, get km/liter, etc. Example 2: A time interval, start time, end time, duration, overlapping intervals, etc. Example 3: A string, upper case, compare, lower case, etc.  str.equals(otherStr) – class/Java style   strcmp(str, otherStr) – C style

The Object Concept

An object is an encapsulation of data.  An object has identity (a unique reference)  social security number (cpr), employee number, passport number state, also called characteristics (variables)  hungry, sad, drunk, running, alive  behavior (methods) eat, drink, wave, smile, kiss  An object is an instance of an class   A class is often called an Abstract Data Type (ADT).