অবস্ট্রাকশন (Abstraction) মানে বাইরের জগতের জন্য শুধু প্রাসঙ্গিক তথ্য প্রদান করা এবং পেছনের বিস্তারিত লুকিয়ে রাখা। এটি প্রোগ্রামিং-এ ইন্টারফেস এবং ইমপ্লিমেন্টেশনের বিচ্ছেদের উপর ভিত্তি করে।
C++-এ ক্লাস অবস্ট্রাকশন প্রদান করে। ক্লাস পাবলিক মেথড দিয়ে বাইরের জগতকে ডেটা ম্যানিপুলেট করার সুবিধা দেয় এবং বাকি ক্লাস স্ট্রাকচার নিজে রেখে। ফলে ব্যবহারকারী ক্লাসটি কীভাবে ইন্টারন্যালি ইমপ্লিমেন্ট করা হয়েছে না জানেও ব্যবহার করতে পারে।
C++-এ ক্লাস ব্যবহার করে অবস্ট্রাকশন বাস্তবায়নের একটি প্রোগ্রাম নিচে দেওয়া হলো।
উদাহরণ
#include <iostream>
using namespace std;
class Abstraction {
private:
int length, breadth;
public:
void setValues(int l, int b) {
length = l;
breadth = b;
}
void calcArea() {
cout << "Length = " << length << endl;
cout << "Breadth = " << breadth << endl;
cout << "Area = " << length * breadth << endl;
}
};
int main() {
Abstraction obj;
obj.setValues(5, 20);
obj.calcArea();
return 0;
}
আউটপুট
Length = 5 Breadth = 20 Area = 100
উপরের প্রোগ্রামে, Abstraction ক্লাসের length এবং breadth প্রাইভেট ভেরিয়েবল। পাবলিক ফাংশনগুলো এই ভেরিয়েবলগুলো ইনিশিয়ালাইজ করে এবং লেন্থ ও ব্রেডথ গুণ করে এরিয়া ক্যালকুলেট করে। অতএব, এই ক্লাসটি অবস্ট্রাকশন প্রদর্শন করে।
main() ফাংশনে প্রথমে Abstraction টাইপের একটি অবজেক্ট ডিফাইন করা হয়। তারপর setValues() ফাংশন ৫ এবং ২০ আর্গুমেন্ট দিয়ে কল করা হয়। অবশেষে calcArea() ফাংশন কল করে মানগুলো এবং এরিয়া ডিসপ্লে করা হয়।