एब्स्ट्रैक्शन में बाहरी दुनिया को केवल प्रासंगिक जानकारी प्रदान करना और पृष्ठभूमि विवरण छिपाना शामिल है। यह प्रोग्रामिंग के लिए इंटरफेस और कार्यान्वयन के पृथक्करण पर निर्भर करता है।
कक्षाएं सी ++ में अमूर्तता प्रदान करती हैं। वे बाहरी दुनिया को डेटा में हेरफेर करने और बाकी वर्ग संरचना को अपने पास रखने के लिए सार्वजनिक तरीके प्रदान करते हैं। इसलिए उपयोगकर्ता यह जाने बिना कि इसे आंतरिक रूप से कैसे लागू किया गया है, आवश्यकतानुसार कक्षा का उपयोग कर सकते हैं।
कक्षाओं का उपयोग करके सी ++ में अमूर्तता को लागू करने का कार्यक्रम निम्नानुसार दिया गया है।
उदाहरण
#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
उपरोक्त कार्यक्रम में, एब्स्ट्रैक्शन वर्ग में लंबाई और चौड़ाई निजी चर हैं। ऐसे सार्वजनिक कार्य हैं जो इन चरों को प्रारंभ करते हैं और लंबाई और सांस को गुणा करके क्षेत्र की गणना भी करते हैं। इसलिए, यह वर्ग अमूर्तता प्रदर्शित करता है। इसके लिए कोड स्निपेट इस प्रकार है।
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; } };
फ़ंक्शन मुख्य () में, पहले एब्स्ट्रक्शन प्रकार की एक वस्तु परिभाषित की जाती है। फिर फ़ंक्शन setValues() को मान 5 और 20 के साथ कॉल किया जाता है। अंत में, इन मानों और क्षेत्र को कैल्कएरिया () फ़ंक्शन का उपयोग करके प्रदर्शित किया जाता है। इसके लिए कोड स्निपेट इस प्रकार है।
Abstraction obj; obj.setValues(5, 20); obj.calcArea();