C++ کلاسز کے پرائیویٹ اور پروٹیکٹڈ ممبرز میں کیا فرق ہے؟

C Klasz K Prayywy Awr Prw Yk Mmbrz My Kya Frq



C++ ایک آبجیکٹ اورینٹڈ پروگرامنگ (OOP) لینگویج ہے جو ڈیٹا اور فنکشنز کو ایک ہی ہستی میں سمیٹنے کا طریقہ کار فراہم کرتی ہے جسے کلاس کہتے ہیں۔ کلاس کی ضروری خصوصیات میں سے ایک اس کے اراکین کے لیے رسائی کی سطح کی وضاحت کرنے کی صلاحیت ہے۔ آبجیکٹ اورینٹڈ پروگرامنگ میں، رسائی کے وضاحت کنندگان کلاس کے شعبوں اور طریقوں کی مرئیت اور رسائی کو کنٹرول کرنے کے لیے استعمال کیا جاتا ہے۔ تحفظ یافتہ ، عوام ، اور نجی رسائی کی سطحیں C++ میں رسائی کی سطحوں کی تین بنیادی اقسام ہیں۔

اس تحریر میں، ہم دونوں اہم کے درمیان فرق پر بات کریں گے۔ رسائی کی وضاحت کنندہ s نجی اور محفوظ C++ کلاس کے ممبران۔

نجی رسائی کی وضاحت کنندہ

پرائیویٹ ممبرز کلیدی لفظ کا استعمال کرتے ہوئے اعلان کیا جاتا ہے ' نجی ' دی نجی رسائی کی وضاحت کنندہ کلاس ممبران تک رسائی کو صرف کلاس تک محدود کرتا ہے۔ کلاس سے باہر کا کوڈ کسی پرائیویٹ ممبر تک رسائی یا اسے تبدیل نہیں کر سکتا۔ اس کا مطلب یہ ہے کہ صرف کلاس میں اعلان کردہ طریقے تک رسائی حاصل کرسکتے ہیں اور اس پر کام کرسکتے ہیں۔ نجی اراکین ، یہاں تک کہ اخذ شدہ کلاسز تک رسائی حاصل نہیں ہوسکتی ہے۔ نجی اراکین . کا ایک عام استعمال نجی اراکین کلاس کے درست آپریشن کو یقینی بنانا ہے۔ پرائیویٹ ممبرز کلاس ڈیٹا کو سمیٹنے اور کلاس کے صارفین کو تجرید کی سطح فراہم کرنے کے لیے استعمال کیا جاتا ہے۔







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

کلاس کھلاڑی {

نجی :
تار کا نام ;
int عمر ;

عوام :
باطل getPlayer ( )
{
cout << 'نام درج کریں: ' ;
کھانا >> نام ;
cout << 'عمر درج کریں:' ;
کھانا >> عمر ;
}
باطل شو پلیئر ( )
{
cout << 'نام:' << نام << endl ;
cout << 'عمر:' << عمر << endl ;
}
} ;

int مرکزی ( )
{
کھلاڑی pl ;
pl getPlayer ( ) ;
pl شو پلیئر ( ) ;

واپسی 0 ;
}

اوپر والے کوڈ میں، ہم پبلک ممبر کے طریقے استعمال کرتے ہیں۔ getPlayer() اور شو پلیئر() دونوں تک رسائی حاصل کرنے کے لیے نجی اراکین نام اور عمر . دی getPlayer() فنکشن صارفین سے ان پٹ حاصل کرتا ہے اور اسے اسکرین پر دکھاتا ہے۔ شو پلیئر() فنکشن



آؤٹ پٹ







محفوظ رسائی کی وضاحت کنندہ

محفوظ ممبران کلاس کے اخذ کردہ کلاسز اور خود کلاس کے ممبر فنکشنز دونوں تک رسائی حاصل کر سکتے ہیں۔ محفوظ ممبران باہر کی دنیا کے سامنے نفاذ کی تفصیلات کو ظاہر کیے بغیر اخذ کردہ کلاسوں تک رسائی کی سطح فراہم کرنے کے لیے استعمال کیا جاتا ہے۔ محفوظ ممبران کلیدی لفظ کا استعمال کرتے ہوئے اعلان کیا جاتا ہے ' محفوظ ' اور بڑی آنت (:) کردار محفوظ ممبران کسی کلاس کو اس کی سالمیت پر سمجھوتہ کیے بغیر توسیع اور ترمیم کرنے کی اجازت دیں۔ ایک اخذ شدہ کلاس استعمال کر سکتی ہے۔ محفوظ ارکان بیس کلاس کے رویے کو بہتر یا تخصیص کرنے کے لیے۔

یہاں کے ساتھ ایک کلاس کی ایک مثال ہے۔ محفوظ ارکان :



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

کلاس کھلاڑی {
نجی:
تار کا نام؛
int عمر؛

محفوظ:
int مقاصد؛

عوام:
گیٹ پلیئر کو باطل کریں۔ ( )
{
cout <> نام
cout <> عمر
}
باطل شو پلیئر ( )
{
cout << 'نام:' << نام << endl
cout << 'عمر:' << عمر << endl
}
} ;

کلاس پلیئر 1: عوامی کھلاڑی {

نجی:
تار ملک؛

عوام:
باطل سیٹ_اہداف ( int جی )
{
مقاصد = جی؛
}
void getPlayer1 ( )
{
getPlayer ( ) ;
cout <> ملک؛
}
باطل شو پلیئر 1 ( )
{
cout << 'اہداف:' << مقاصد << endl
شو پلیئر ( ) ;
cout << 'ملک: ' << ملک << endl
}
} ;

اہم int ( )
{
کھلاڑی1 pl؛
pl.set_goals ( 101 ) ;
pl.getPlayer1 ( ) ;
pl.showPlayer1 ( ) ;

واپسی 0 ;
}

دی کھلاڑی کلاس دو پر مشتمل ہے۔ نجی اراکین ، نام اور عمر ، ایک محفوظ رکن، مقاصد ، اور نجی ارکان کے اندر استعمال کیا جاتا ہے عوام رکن کے افعال، getPlayer() اور شو پلیئر() . دو طبقے ہیں، کھلاڑی اور کھلاڑی 1 ، یہ دونوں بنیادی کلاسیں ہیں۔ ایک نجی رکن، ملک ، اور تین عوام ممبر کے طریقے تشکیل دیتے ہیں۔ کھلاڑی 1 کلاس سیٹ_اہداف() محفوظ رکن کو تبدیل کرنے کے لیے استعمال کیا جاتا ہے۔ اہداف قدر. getPlayer1() کال کرتا ہے getPlayer() کے رکن کی تقریب کھلاڑی کلاس کے علاوہ ملک کے لیے ان پٹ کو بازیافت کرتے ہوئے اس سے ملتا جلتا، showPlayer1() کال کرتا ہے شو پلیئر() ممبر فنکشن اور پرنٹ کرتا ہے۔ مقاصد اور ملک اقدار

آؤٹ پٹ

C++ کلاسز کے پرائیویٹ اور پروٹیکٹڈ ممبرز کے درمیان فرق

یہاں کے درمیان کچھ اہم اختلافات درج ہیں۔ نجی اور تحفظ یافتہ C++ کلاسز کے ممبران۔

1: دائرہ کار اور فعالیت

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

2: رسائی کی سطح

کے درمیان بنیادی فرق نجی اور محفوظ ارکان رسائی کی وہ سطح ہے جو وہ فراہم کرتے ہیں۔ تحفظ یافتہ اراکین کلاس کی اخذ کردہ کلاسز اور ممبر فنکشنز دونوں کے ذریعے قابل رسائی ہو سکتے ہیں، لیکن نجی اراکین صرف کلاس کے اراکین کے افعال سے حاصل کیے جا سکتے ہیں۔

3: کلاس کی انکیپسولیشن

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

حتمی خیالات

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