فرینڈ فنکشن اور فرینڈ کلاس میں فرق
مواد
فرینڈ فنکشن اور فرینڈ کلاس فرینڈ کی ورڈ کا استعمال کرکے کلاس کے نجی ممبروں تک رسائی حاصل کرنے کی تکنیک ہیں۔ فرینڈ فنکشن اور فرینڈ کلاس کے درمیان مشترکہ فرق یہ ہے کہ جب فرینڈ فنکشن استعمال ہوتا ہے تو نجی کلاس ممبروں تک رسائی حاصل کی جاسکتی ہے لیکن فرینڈ کلاس میں ، صرف فرینڈ کلاس کے ناموں تک رسائی حاصل کی جاتی ہے کلاس کے نجی ممبروں تک نہیں۔
دوست کی خصوصیت چاہے وہ فنکشن یا کلاس کے ذریعہ استعمال کردہ آبجیکٹ پر مبنی فریم ورک پر منفی اثر پیدا کرسکتا ہے کیونکہ یہ کمزور ہوتا ہے encapsulation جو خلاف ہے مقصد کا تعین کرنا نمونہ. یہی وجہ ہے کہ دوست خصوصیت کو دانشمندی کے ساتھ استعمال کرنا چاہئے بصورت دیگر یہ ممکن ہے توڑ ڈیٹا چھپا رہا ہے کوڈ کے.
یہ دوستی کی خصوصیت بھی نہیں ہے بدلنے والا اور نہ ہی ترسیلی. X Y کا دوست نہیں ہے اس بات کا انکشاف نہیں کرتا کہ Y بھی X کا دوست ہے۔ اگر X Y کا دوست ہے اور Y Z کا دوست ہے تو ، اس سے یہ بات نہیں لگی کہ X Z کا دوست ہے۔
-
- موازنہ چارٹ
- تعریف
- کلیدی اختلافات
- نتیجہ اخذ کرنا
موازنہ چارٹ
موازنہ کی بنیاد | دوست کام | فرینڈ کلاس |
---|---|---|
بنیادی | یہ ایک فنکشن ہے جس میں کسی دوست کے مطلوبہ الفاظ کے ساتھ کلاس کے نجی ممبروں کو غیر ممبر فنکشن تک رسائی فراہم کی جاتی ہے۔ | یہ ایک کلاس ہے جس میں دوست کلیدی الفاظ کے ساتھ کسی اور کلاس کے نجی ممبروں تک رسائی حاصل ہوتی ہے۔ |
فارورڈ اعلان | ضرور استعمال کیا جانا چاہئے۔ | لازمی نہیں ہے۔ |
استعمال کریں | آپریٹر اوورلوڈنگ کی کسی صورتحال میں دوستی کا فنکشن استعمال کیا جاسکتا ہے۔ | دوست کلاس استعمال کی جاسکتی ہے جب ایک کلاس دوسری کلاس کے اوپری حصے پر بنائی جاتی ہے۔ |
فرینڈ فنکشن کی تعریف
دوست تقریب غیر ممبر فنکشن تک رسائی حاصل کرنے کی اجازت دے کر کلاس کے نجی اور محفوظ ممبروں تک رسائی حاصل کرنے کے لئے استعمال ہوتا ہے۔ اس قسم کے فنکشن میں ، دوست کے مطلوبہ الفاظ کو اعلان کے وقت فنکشن کے نام سے پہلے استعمال کیا جاتا ہے۔ دوست کے فنکشن میں کچھ پابندی والی شرائط لاگو ہیں۔ پہلی شرط یہ ہے کہ فرینڈ فنکشن کسی بچے کی کلاس سے وراثت میں نہیں آتا ہے۔ دوسری شرط یہ ہے کہ اسٹوریج کلاس مخصوص کرنے والا دوست کے فنکشن میں موجود نہیں ہوسکتا ہے ، جس کا مطلب ہے کہ اسے مستحکم اور بیرونی قرار نہیں دیا جاسکتا۔
فرینڈ فنکشن کو کلاس کے چلانے والے آبجیکٹ کے ساتھ نہیں بلایا جاتا ہے۔ دوست فنکشن کی مثالیں یہ ہیں: ایک عالمی فنکشن ، کلاس کا ممبر فنکشن ، فنکشن ٹیمپلیٹ فرینڈ فنکشن ہوسکتا ہے۔ آئیے ہم اسے ایک مثال کی مدد سے سمجھتے ہیں۔
# شامل کریں دوست کی تقریب ضروری ہوتی ہے جب کسی فنکشن کو دو یا زیادہ آزاد طبقات ، داخلی ممبروں تک رسائی حاصل کرنے کی ضرورت ہو۔ دوسری طرف ، دوست کلاس کی ضرورت ہے جب ایک کلاس کو دوسرے کلاس کے ممبروں تک رسائی حاصل کرنا ہو۔ جب ایک سے زیادہ ممبران فنکشن کو اس فنکشن کا دوست بننے کی ضرورت ہوتی ہے تو ، اس صورت میں ، فرینڈ کلاس کا استعمال کرنا بہتر ہے۔
نتیجہ اخذ کرنا