In: Computer Science
It is useful to enforce, thanks to these points:
Real life Example: Mobile Phones
Abstract view
Call(), Timer(), Calculator(), Camera(), Video(), Voice_Recorder()
Implementation View
Class mobilePhones{
private:
int ramSize;
string processorName;
float screenType;
int cameraCount;
string androidVersion;
public:
void call();
void timer();
void calculator();
void camera();
void video();
void voice_recorder();
};
Overall, the separation of data structures and operations and the constraint to only access the data structure via a well-defined interface allows to choose data structures appropriate for the application environment.