Class implementation file
آبجیکٹ پر مبنی پروگرامنگ میں، کلاس کے نفاذ کی فائل کو اکثر کلاس کے طریقہ کار (طریقوں) کے نفاذ کے کوڈ پر مشتمل کرنے کے لیے استعمال کیا جاتا ہے۔ سی اور سی + + جیسی پروگرامنگ زبانیں ان نفاذ فائلوں کا استعمال کرتی ہیں تاکہ ان طریقوں کے انٹرفیس اور نفاذ کو الگ کیا جا سکے۔ تحریک اس ڈھانچے کا استعمال کرتے ہوئے کلاس اور اس کے اراکین کے اعلامیے پر مشتمل کلاس ڈیفینیشن فائل بھی بنائی جاتی ہے۔ اگر کلاس کی تعریف شامل کی گئی ہے اور اس کے طریقوں کے لیے عمل درآمد کی فائل دستیاب ہے، تو صارف کلاس کے کسی آبجیکٹ کو فوری طور پر ظاہر کر سکتا ہے۔ اس ڈھانچے کا مقصد نفاذ کے کوڈ کو پوشیدہ رکھنا ہے، لیکن صارف کو ڈیزائن دیکھنے کی اجازت دینا ہے۔ صارفین کسی آبجیکٹ کے پبلک انٹرفیس کا استعمال کرتے ہیں تاکہ آبجیکٹ بنانے کو ہر ممکن حد تک آسان بنایا جا سکے، اس بات کو یقینی بناتے ہوئے کہ کلائنٹ کوڈ صارف کو کلاس کے نفاذ کی غیر ضروری تفصیلات سے مشغول نہ کرے۔ یہ صارف کو کلاس کو مؤثر طریقے سے استعمال کرنے کے لیے درکار معلومات کی اجازت دیتا ہے، لیکن اسے مرتب کردہ کوڈ کو نقصان پہنچانے سے روکتا ہے۔ کلاس کے نفاذ کی فائل کا ڈھانچہ ایک نفاذ کی فائل کا استعمال سی + + پروگرامنگ میں کیا جاتا ہے جب انٹرفیس کو نفاذ سے الگ کرنے کے لیے کلاس کی تعریف بنائی جاتی ہے۔ ہیڈر فائل کلاس کے تمام ممبر فنکشنز (میتھڈز) اور ڈیٹا میتھڈز (فیلڈز) کا اعلان کرے گی۔ نفاذ کی فائل میں ہیڈر فائل میں اعلان کردہ طریقوں کی اصل تعریف یا سورس کوڈ ہوگا۔ یہ فائل ہیڈر بلاک سے شروع ہو سکتی ہے، جو تبصرے فراہم کرتا ہے جو متعین کلاس کے مقصد اور اصل فائل کی تخلیق کے بارے میں کسی بھی تفصیلات کو بیان کرتا ہے، جیسے کہ فائل کا مصنف اور فائل کی تخلیق کی تاریخ۔ اس میں سی + + اسٹینڈرڈ لائبریری کی کوئی بھی لائبریری بھی شامل ہو سکتی ہے جو فائل میں موجود کسی بھی اعلان شدہ طریقے کے ذریعے استعمال کی جائے گی۔ کلاس کے نفاذ کی فائل میں عام طور پر متعلقہ ہیڈر فائل کو شامل کرنے کے لیے ایک لائن ہوگی (نیچے مثالیں دیکھیں)۔ سی + + میں مثال ایک مثال ہوگی جس میں ایک کلاس ہوگی جسے ایکسمپل کلاس کہا جاتا ہے۔ اس C + + فائل کی ہیڈر فائل کا نام "example_class.h" ہوگا اور عمل درآمد کی فائل "example_class.cc" ہوگی۔ example_class.cc کی ساخت کی ایک مثال اس طرح نظر آئے گی: #include "example_class.h" مثال کلاس:: مثال کلاس () = ڈیفالٹ ؛ خالی مثال کلاس:: کچھ شامل کریں (int k) {.} اس مثال میں، افعال کے نفاذ کو خارج کر دیا گیا ہے، لیکن افعال کو example_class.h میں اس طرح اعلان کیا جانا چاہیے: #include <سٹرنگ> کلاس مثال کلاس {پبلک: مثال کلاس () ؛// کنسٹرکٹر۔ ووئڈ ایڈ سوتھنگ (int k) ؛ پرائیویٹ: std:: سٹرنگ کا نام ؛} ؛ مقصد-C میں مثال کلاس کے نفاذ کی فائل کو کس طرح تشکیل دیا جائے گا اس کی ایک اور مثال مقصد-C کے ساتھ دیکھی جا سکتی ہے، جو کہ آئی او ایس پروگرامنگ میں استعمال ہوتا ہے۔ یہ مثال "Exम्पल کلاس" کا استعمال کرے گی۔ ان نفاذ فائلوں کا استعمال کرتے وقت C + + اور آبجیکٹیو-C کے درمیان ایک قابل ذکر فرق فائلوں کے آخر میں استعمال ہونے والی ایکسٹینشنز ہیں۔ C + + میں یہ. cpp ہوگا اور آبجیکٹیو-C میں یہ. m ہوگا، لیکن دونوں اپنی ہیڈر فائل (ز) کے لیے ایک ہی. h ایکسٹینشن استعمال کریں گے جیسا کہ نیچے دی گئی مثال میں دکھایا گیا ہے۔ یہ آبجیکٹیو-سی میں ExampleClass.h کی ایک مثال ہے: #import <UIKit/UIKit. h> @interface ایکسمپل کلاس: این ایس او آبجیکٹ {// مثال متغیر اعلانات یہاں جاتے ہیں}-(این ایس ایس ٹرینگ *) نام ؛ @end یہ آبجیکٹیو-سی میں کلاس کی عمل درآمد فائل Exampleclass.m کی ایک مثال ہے: #import "ExampleClass.h" @implementation ایکسمپل کلاس-(NSS ٹرینگ *) نام {ریٹرن @".