C++ میں انٹرفیس کیا ہیں؟

C My An Rfys Kya Y



انٹرفیسز، جسے عام طور پر تجریدی کلاسز کے نام سے جانا جاتا ہے، کلاس کے نفاذ کا پابند کیے بغیر کلاس کے طرز عمل کو بیان کرنے کا صرف ایک ذریعہ ہیں۔ C++ پروگرامنگ میں انٹرفیس کا کوئی بلٹ ان تصور نہیں ہے۔ ایک انٹرفیس بنانا شروع کرنے کے لیے، ہمیں پہلے صرف خالص ورچوئل فنکشنز کے ساتھ ایک خلاصہ کلاس قائم کرنا چاہیے۔

C++ میں انٹرفیس کا اطلاق خلاصہ کلاسز کا استعمال کرتے ہوئے کیا جاتا ہے۔ دوسری طرف، کلاس کو خلاصہ کلاس کہا جاتا ہے اگر کلاس کے اندر کم از کم ایک فنکشن کو خالص ورچوئل فنکشن قرار دیا جائے۔

خالص ورچوئل فنکشن کیا ہے؟

دی خالص ورچوئل فنکشن اس کا مطلب ہے کہ صارفین صرف فنکشن کا اعلان کرتے ہیں نہ کہ اس کی تعریف۔ اخذ شدہ کلاس میں خالص ورچوئل طریقوں کو نافذ کرنے کے لیے طریقہ/فنکشن اوور رائیڈنگ کا استعمال کیا جاتا ہے۔ کسی فنکشن کو خالص ورچوئل سمجھا جاتا ہے اگر اسے کلاس کے اندر بیان کیا جائے جیسا کہ ذیل میں دیا گیا ہے۔







یہاں ایک کا نحو ہے۔ خالص ورچوئل فنکشن کلاس روم کے.



کلاس کمرہ {
عوام :
// خالص ورچوئل فنکشن
مجازی دگنا گیٹیریا ( ) = 0 ;

نجی :
دگنا لمبائی ; // ایک کمرے کی لمبائی
دگنا چوڑائی ; // ایک کمرے کی چوڑائی
} ;

خلاصہ کلاس کیا ہے؟

ایک کلاس جو خاص طور پر بیس کلاس کے طور پر خدمات انجام دینے کے مقصد کے لیے بنائی گئی تھی اس کا نام an ہے۔ خلاصہ کلاس . خلاصہ کلاس میں کم از کم ایک خالص ورچوئل فنکشن کا ہونا ضروری ہے۔ اس میں متغیرات اور معیاری افعال شامل ہو سکتے ہیں۔ اخذ کردہ کلاسز جو خلاصہ کلاس کے پاس ہیں، انہیں بیس کلاس کے خالص ورچوئل فنکشن کو نافذ کرنا چاہئے، ورنہ وہ خلاصہ بن جائیں گی۔



مندرجہ ذیل مثال پر غور کریں، جس میں پیرنٹ کلاس بیس کلاس کو ایک انٹرفیس دیتی ہے تاکہ بیس کلاس کو خالص ورچوئل فنکشن کا اطلاق کیا جائے getArea() . دو مختلف کلاسیں ایک ہی استعمال کرتی ہیں۔ getArea() فنکشن، لیکن دونوں صورتوں کے لیے آؤٹ پٹ مختلف ہو گا۔





# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
کلاس شکل
{
عوام :
مجازی int گیٹیریا ( ) = 0 ;
باطل سیٹ چوڑائی ( int wth )
{
چوڑائی = wth ;
}

باطل سیٹ کی لمبائی ( int lth )
{
لمبائی = lth ;
}

محفوظ :
int چوڑائی ;
int لمبائی ;
} ;

کلاس مستطیل : عوام شکل
{
عوام : int گیٹیریا ( )
{
واپسی ( چوڑائی * لمبائی ) ;
}
} ;

کلاس مثلث : عوام شکل
{
عوام : int گیٹیریا ( )
{
واپسی ( چوڑائی * لمبائی ) / 2 ;
}
} ;

int مرکزی ( باطل )
{
مستطیل R ;
مثلث ٹی ;
آر سیٹ چوڑائی ( 9 ) ;
آر سیٹ کی لمبائی ( 5 ) ;
cout << 'مستطیل کا رقبہ:' << آر گیٹیریا ( ) << endl ;
ٹی۔ سیٹ چوڑائی ( 9 ) ;
ٹی۔ سیٹ کی لمبائی ( 5 ) ;
cout << 'مثلث کا رقبہ:' << ٹی۔ گیٹیریا ( ) << endl ;
واپسی 0 ;
}

آؤٹ پٹ



انٹرفیس کی اہمیت

خالص تجریدی کلاس (انٹرفیس) سے اخذ کردہ کسی بھی کلاس کو ہمیشہ بیس کلاس کے ہر ایک طریقے کو نافذ کرنا چاہیے، یعنی انٹرفیس۔ انٹرفیس پوائنٹرز کو فنکشنز کے ساتھ ساتھ کلاسز میں بھی پاس کیا جا سکتا ہے، جس سے ہمیں وہاں سے اخذ کردہ کلاس کے فنکشنز کو کال کرنے کی اجازت ملتی ہے۔

انٹرفیس استعمال کرنے کے اصول کیا ہیں؟

C++ میں انٹرفیس استعمال کرنے کے لیے صارفین کو مندرجہ ذیل اصولوں پر عمل کرنا چاہیے:

  • صرف خالص ورچوئل افعال کا اعلان کریں۔
  • خالص ورچوئل فنکشنز کے لیے صرف 0 کو تفویض کیا گیا۔
  • کلاسوں کا انٹرفیس نہ بنائیں۔
  • بیس خلاصہ کلاس کا حوالہ استعمال کرتے ہوئے، ہم اخذ شدہ کلاس کی مثال کے لیے ایک پوائنٹر بنا سکتے ہیں۔

مندرجہ ذیل کوڈ میں، ایک انٹرفیس linuxhint جیسا کہ خالص ورچوئل طریقہ استعمال کرکے ایک خلاصہ کلاس بنائی گئی ہے، اسی طرح اس کا فنکشن چائلڈ کلاس میں لاگو ہوتا ہے، اور ہم نے اسے returnString() انٹرفیس کے قواعد پر عمل کرتے ہوئے مین فنکشن میں طریقہ۔

# شامل کریں
# شامل کریں
#include
استعمال کرتے ہوئے نام کی جگہ std ;

کلاس linuxhint
{
عوام :
مجازی string returnString ( ) = 0 ;
} ;
کلاس بچہ : عوام linuxhint
{
عوام :
string returnString ( )
{
واپسی 'ہیلو لینکس ہنٹ' ;
}
} ;
int مرکزی ( )
{
بچہ بچہ_آبجیکٹ ;
linuxhint * pntr ;
pntr = اور بچہ_آبجیکٹ ;
cout < returnString ( ) ;
واپسی 0 ;
}

آؤٹ پٹ

نتیجہ

انٹرفیس تجریدی کلاسز ہیں جو کلاس کے رویے کو بیان کرتی ہیں جو C++ میں مطلوبہ کلاس کو لاگو کرنے کی ضرورت ہے۔ مندرجہ بالا رہنما خطوط ایک ابتدائی کے لیے انٹرفیس کے ساتھ کام کرکے اپنی C++ پروگرامنگ کی مہارت کو بہتر بنانے کے لیے اہم ہیں۔ آپ کو کچھ مثالیں بھی ملیں گی جو آپ کو C++ میں انٹرفیس کے نفاذ کو سیکھنے میں مدد کریں گی۔