Abstraction in C++

Abstraction என்பது மிகவும் அத்தியாவசியமான(essential) data-வை மட்டும் காட்டும். தேவையற்ற தகவல்களை மறைத்துவிடும். Data Abstraction என்பது வெளிப்புற உலகிற்கு data-வை பற்றிய அத்தியாவசிய தகவலை மட்டுமே வழங்கும், அதன் பின்புல விவரங்களையும், அது எவ்வாறு செயல்படுகிறது என்ற செயல்பாடுகளையும் மறைத்து வைத்துகொள்கிறது. இதுவே data abstraction.

Abstraction using access specifiers

  • ஒரு class members-ஐ public-ஆக declare செய்தால் அதை அந்த program-ல் எங்கிருந்து வேண்டுமானாலும் access செய்துகொள்ளலாம்.
  • ஒரு class members-ஐ private-ஆக declare செய்தால் அதை அந்த class-ன் உள்ளிருந்து மட்டுமே access செய்துகொள்ள முடியும். class-க்கு வெளியில் எந்த ஒரு பகுதியில் இருந்தும் அதை அணுகுவதற்கு(access) அனுமதி இல்லை.
#include <iostream>
using namespace std; 
class implementAbstraction{ 
    private: 
        int a, b; 
    public: 
        // method to set values of private members 
        void set(int x, int y){ 
            a = x; 
            b = y; 
        } 
        void display(){ 
            cout<<"a = " <<a << endl; 
            cout<<"b = " << b << endl; 
        } 
}; 
int main(){ 
    implementAbstraction obj; 
    obj.set(10, 20); 
    obj.display(); 
    return 0; 
} 

Output:

a=10
b=20

மேலே உள்ள program-ல் a and b ஆகிய இரண்டு variable-களையும் நம்மால் நேரடியாக அணுக(access) முடியாது. இருப்பினும் set() என்ற function-ஐ call செய்து தான் a மற்றும் b-ன் value-களை set செய்ய இயலும். அதேபோல் display() என்ற function-ஐ call செய்து தான் a மற்றும் b-ன் value-களை print செய்ய இயலும். இதுவே data abstraction.

Comments