CodeGym /جاوا بلاگ /Random-UR /تشریحات۔ حصہ 1 - تھوڑا بورنگ
John Squirrels
سطح
San Francisco

تشریحات۔ حصہ 1 - تھوڑا بورنگ

گروپ میں شائع ہوا۔
حصہ 1۔ میں نے سورس اور کلاس کی قسم کی تشریحات کے بارے میں بہت مختصر لکھا ہے۔ یہ پڑھنے کے قابل ہے، تاکہ دوسرے حصے میں گم ہونے سے بچ سکے اور اپنی "غلط فہمی" کو تھوڑا سا بڑھا سکے =) میں وعدہ کرتا ہوں کہ کم از کم ایک لفظ ضرور ہوگا جو آپ جانتے ہوں گے! تشریحات۔  حصہ 1 - تھوڑا سا بورنگ - 1 پہلی بار جب میں نے یہاں کاموں میں تشریحات دیکھی تو میں نے ان پر زیادہ توجہ نہیں دی۔ یہاں اور وہاں @Override ہے، لیکن IDEA اس میں اضافہ کرتا ہے، تو میں نے سوچا کہ ایسا ہی ہونا چاہیے۔ وقت گزرنے کے ساتھ، میں نے محسوس کیا کہ سب کچھ بہت گہرا ہے۔ جیسا کہ آپ مطالعہ کرتے ہیں، تشریحات کچھ بیکار لیکن ضروری معلوم ہوسکتی ہیں۔ آپ نہیں جانتے کہ وہ کیوں موجود ہیں یا وہ کیا کرتے ہیں۔ آپ نے کچھ مضامین پڑھے ہیں جن میں کہا گیا تھا، "یہ بہت اچھا ہے کہ ہمارے پاس اب تشریحات ہیں، سب کچھ بہت آسان ہو گیا ہے۔" لیکن میں نہیں جانتا تھا کہ چیزیں پہلے کیسی تھیں، اور میں یہ نہیں سمجھتا تھا کہ اب چیزیں آسان ہیں۔ اب میں جانتا ہوں اور تھوڑا سا اشتراک کرنا چاہتا ہوں۔ (RetentionPolicy) تشریحات کی 3 اقسام ہیں:
  • ماخذ - مرتب کرنے والے کے لیے تشریحات
  • کلاس - تشریح سے معلومات بائی کوڈ میں لکھی جائے گی لیکن رن ٹائم پر دستیاب نہیں ہوگی۔ ان کا کہنا ہے کہ معیاری لائبریری میں اس قسم کی بہت سی تشریحات ہیں، جنہیں اب پسماندہ مطابقت کے لیے برقرار رکھا گیا ہے۔ یہ بہت مخصوص کاموں کے لیے استعمال ہوتا ہے۔
  • StackOverflow پر سوال و جواب
  • رن ٹائم - یہ تشریحات سب سے زیادہ مقبول ہیں۔ ان کا استعمال اس وقت کیا جاتا ہے جب کوڈ پر عمل کیا جا رہا ہو۔
تعارف نے مضمون کا حصہ لیا، لہذا میں یہاں SOURCE اور CLASS تشریحات کے بارے میں لکھوں گا۔ یہ وہ تشریحات ہیں جو مجھے مل سکتی ہیں (ٹاسک 3607 کا شکریہ)۔ میں رن ٹائم تشریحات پر توجہ نہیں دوں گا — ان میں سے بہت زیادہ ہیں اور وہ اس مضمون کا موضوع نہیں ہیں۔ ذریعہ:
  • java/lang/annotation/Native.class؛
  • java/lang/SuppressWarnings.class
  • javax/annotation/Generated.class
  • java/lang/Override.class
کلاس: مجھے نہیں معلوم کہ کلاس تشریحات کیوں ضروری ہیں۔ موجودہ تشریحات کے لیے دستاویزات کہیں نہیں ملیں، اس لیے مجھے لگتا ہے کہ آپ اس سامان کو پیچھے چھوڑ سکتے ہیں۔ لیکن اگر مل جائے تو شئیر ضرور کریں۔ ماخذ تشریحات:
  1. مقامی — اس تشریح کے ساتھ ایک متغیر مقامی کوڈ کا حوالہ دے سکتا ہے۔
  2. SuppressWarnings — یہ تشریح مختلف کمپائلر وارننگز کو دبا دیتی ہے۔
  3. تیار کردہ — یہ تشریح ماخذ کوڈ کو نشان زد کرتی ہے جو تیار کیا گیا تھا۔
  4. اوور رائڈ - یہ تشریح طریقہ اوور رائیڈ کو چیک کرتی ہے۔
مزید معلومات کے لیے:

@آبائی

مقامی — میں نے اسے کبھی نہیں دیکھا اور نہ ہی اسے استعمال کیا۔ میرے خیال میں یہ ایک غیر معمولی تشریح ہے، کیونکہ یہ اس وقت استعمال ہوتی ہے جب آپ کو کسی اور "مقامی" زبان میں کوڈ چلانے کی ضرورت ہوتی ہے۔ میں نے کوشش کی اور اس کا واضح ذکر تلاش کرنے میں ناکام رہا۔

@Suppress وارننگز

SuppressWarnings — یہ تشریح اکثر اس طرح استعمال ہوتی ہے: @SuppressWarnings("غیر چیک شدہ")۔ اس کا استعمال ان انتباہات کو دبانے کے لیے کیا جاتا ہے جن کے بارے میں آپ پہلے سے واقف ہیں۔ پچھلی مثال غیر چیک شدہ قسم کے تبادلوں کے بارے میں انتباہات کو دبا دیتی ہے۔ ایک بار پھر، یہ واحد استعمال ہے جس کا میں نے سامنا کیا ہے۔

@جنریٹڈ

جنریٹڈ — میں ابھی ایک اسائنمنٹ کی وجہ سے اس تشریح میں جا رہا ہوں جہاں مجھے XSD فائلوں سے کلاسیں تیار کرنی ہیں۔ یہ 3 تشریحات کافی مخصوص ہیں اور اس وقت آپ کے لیے زیادہ تر غیر دلچسپی کا باعث ہیں۔ میں آخری کو بیان کروں گا۔

@Override

اوور رائڈ - آپ اسے مسلسل استعمال کرتے ہیں اور یہ بہت مفید کام کرتا ہے۔ کسی طریقہ کو زیر کرتے وقت، IDEA کی مدد کے بغیر غلطی کرنا آسان ہے۔ غلطیاں ہوں یا عام غلطیاں، غلطیاں ہوتی ہیں۔ یہ تشریح اس بات کو یقینی بنائے گی کہ پیرنٹ کلاس میں طریقہ ہمارے (تشریح شدہ) طریقہ سے میل کھاتا ہے۔ یہ یقینی بناتا ہے کہ طریقہ شامل کرنے کے بجائے اوور رائیڈ ہو جائے گا۔ ری فیکٹرنگ کوڈ پر، پیرنٹ طریقہ کو ہٹایا یا تبدیل کیا جا سکتا ہے۔ ایک بار پھر، یہ تشریح غلطی کی نشاندہی کرے گی۔ اس کے بغیر، ہمارا طریقہ آسانی سے شامل ہو جائے گا۔ بورنگ؟ میں ہاں کہوں گا۔ اس مضمون سے حاصل کرنے میں زیادہ مددگار نہیں ہے۔ یہاں تقریباً ہر چیز (90%) ایسی چیز کی وضاحت کرتی ہے جسے آپ کبھی استعمال نہیں کریں گے یا بہت کم ہی استعمال کریں گے۔ بقیہ 10% @Override تشریح کو ہیلو کہہ رہے ہیں اور اس کی وضاحت کر رہے ہیں، جو کہ پہلی نظر میں بیکار ہے۔ اس نے کہا، مجھے لگتا ہے کہ مضمون کے دوسرے حصے میں زیادہ دلچسپ ہو جائے گا. وہاں RUNTIME تشریحات پر تبادلہ خیال کیا جائے گا - وہ عملدرآمد کے دوران کوڈ کے ساتھ تعامل کرتے ہیں اور کالا جادو کرتے ہیں۔ تشریحات۔ حصہ 2. لومبوک
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION