JavaRush /جاوا بلاگ /Random-UR /تشریحات۔ پہلا حصہ، تھوڑا سا بورنگ

تشریحات۔ پہلا حصہ، تھوڑا سا بورنگ

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

  2. SuppressWarnings - مختلف کمپائلر وارننگز کو دباتا ہے۔

  3. جنریٹڈ - اس سورس کوڈ کو نشان زد کرتا ہے جو تیار کیا گیا تھا۔

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