JavaRush /جاوا بلاگ /Random-SD /تبديل ڪندڙ يا جاوا جي دنيا ۾ جادوگر ڪيئن اڇلائڻ
Petr Gorskin
سطح
Москва

تبديل ڪندڙ يا جاوا جي دنيا ۾ جادوگر ڪيئن اڇلائڻ

گروپ ۾ شايع ٿيل
سٺو گليڪڪ ڏينهن، ڪامريڊ! هي منهنجو پهريون بين الاقوامي مسودو آهي، ۽ مان هڪ انجنيئر آهيان، ڪجهه تصورن جي تشريح هڪ ماورائي ٻولي ۾ ٿي سگهي ٿي.
تبديل ڪرڻ وارا يا جاوا جي دنيا ۾ جادو جا طريقا - 1
تعارف منهنجي خيال ۾، جاوا هڪ لامحدود ڪوريڊور وانگر آهي دروازن سان (پيڪيج). انهن مان هر هڪ دروازن جي پويان خالي جاء آهي ۽ هڪ فائيل ڪابينا، جنهن ۾ جادوگر اسڪالر جو هڪ جبل آهي جنهن ۾ شيون ٺاهڻ لاء هدايتون (ڪلاس) محفوظ آهن. هر اسڪرال خاصيتن (متغير) ۽ قابليت (طريقن) جو هڪ سيٽ بيان ڪري ٿو - عمل (فيلڊز) يا ته خود طبقي تي يا ان جي بنياد تي گڏ ڪيل اعتراض. هن مرحلي تي، اچو ته پنهنجو پاڻ کي جادوگر تصور ڪريون ۽ هڪ مڪمل طور تي نئين هدايت (ڪلاس) ٺاهڻ جي ڪوشش ڪريون. سو: تبديل ڪرڻ وارا يا جاوا جي دنيا ۾ جادو ڪيئن اڇلائڻ - 2اچو ته حڪمت جو عڪس پيئون (بنيادي ڳالهيون سکو) ۽ هدايتون لکڻ شروع ڪريون. پهچ ۽ غير رسائي موڊفير اچو ته تصور ڪريون ته ڪا به هدايت ۽ ان جي بنياد تي ٺاهيل شئي، ان سان گڏوگڏ ان جي خاصيتن ۽ صلاحيتن کي، شروعاتي طور تي جادوگري ڪئي ويندي، يعني. انهن کي مقرر ڪيو ويندو موڊيفائرز جا مخصوص سيٽ. اچو ته ممڪن جادوگرن تي هڪ گائيڊ ٺاهڻ جي ڪوشش ڪريو.
  1. رسائي موڊيفائر ، جيڪو ڪلاس، اعتراض يا فيلڊ جي رسائي کي بيان ڪري ٿو، گهربل آهي: ان جي غير موجودگي ۾، JVM (هي آفاقي جادو جو هڪ ذريعو آهي) خودڪار طور تي پيڪيج لاء هڪ ڊفالٽ سڃاڻپ ڪندڙ مقرر ڪري ٿو.

    ٻئين ترميمي کان شروع ٿيندڙ غير رسائي موڊيفائر آهن، جيڪي لازمي نه آهن ۽ هڪ ٻئي سان تڪرار پڻ ڪري سگهن ٿا (پر پهرين شيون پهرين).

  2. جامد تبديل ڪندڙ اشارو ڪري ٿو ته ڪلاس، اعتراض، يا فيلڊ جامد آهي. پر ان جو مطلب ڇا آهي؟ بنيادي طور تي اسان ان کي فيلڊ تي آزمائينداسين.

    جامد متغيرن کي ڪلاس متغير سڏيو ويندو آهي ۽ ان طبقي جي سڀني مثالن لاءِ منفرد هوندا آهن. جامد طريقن کي سڏي سگهجي ٿو بغير اعتراض ٺاهڻ جي جنهن ۾ اهي اعلان ڪيا ويا آهن. جامد طبقن کي استعمال ڪيو ويندو آهي جڏهن هڪ طبقي کي ٻئي ۾ داخل ڪيو ويندو آهي ۽ اندروني طبقي ۽ ٻاهرئين طبقي جي وچ ۾ رابطي جو اصول طريقن سان گڏ هوندو آهي (هي هڪ الڳ بحث جو موضوع آهي). هڪ اعتراض اندر هڪ الڳ بلاڪ طور پڻ استعمال ڪري سگهجي ٿو.

  3. فائنل موڊيفائر مؤثر طور تي متغير ڏانهن اشارو ڪري ٿو ته اهو هڪ مستقل آهي. طريقن لاءِ - ته اهي وراثت دوران ختم نه ٿي ڪري سگهجن، پر طبقن لاءِ اهو هڪ اشارو آهي ته اهو ان مان ورثي ۾ نه ٿو ٿي سگهي (غير منقول).

    جامد ۽ حتمي ترميم ڪندڙ طبقن، شيون، ۽ فيلڊ تي لاڳو ٿين ٿا. بهرحال، اهڙا ترميم ڪندڙ آهن جيڪي صرف انهن مان ڪجهه تي لاڳو ٿين ٿا (يا انهن جو حصو پڻ، ڇاڪاڻ ته ٻئي هڪ متغير ۽ طريقو هڪ فيلڊ آهن، پر سڀئي ترميم ڪندڙ ٻنهي تي لاڳو نه ٿيندا آهن). جيڪڏهن اسان هڪ تشبيه ٺاهي سگهون ٿا، صرف بوٽن ۽ دستانن کي تيز رفتار لاء جادو ڪري سگهجي ٿو (انهن کي تيزيء سان هلڻ لاء)، پر رفتار لاء ٽوپي کي جادو ڪرڻ بي معني آهي (۽ يونيورسل سپروائيزري ڪائونسل (ڪمپلر) ان جي اجازت نه ڏيندو).

  4. Abstract modifier صرف طريقن ۽ طبقن تي لاڳو ٿئي ٿو . هڪ خلاصو طريقو هڪ طريقو آهي بغير ڪنهن عمل جي (جسم).

    جيڪڏهن هڪ طبقي کي خلاصي طور نشان لڳايو ويو آهي، اهو يا ته تجريدي طريقن تي مشتمل آهي يا انهي طبقي جي مثالن جي تخليق کي روڪڻ لاءِ ڪيو ويو آهي. جيڪڏهن اسان هڪ قياس ٺاهي سگهون ٿا، هدايتن جي وچ ۾ توهان ڏسي سگهو ٿا عنوان "هڪ شيء کي رنگ ڏيڻ"، جنهن کان پوء ڪا به وضاحت ناهي. اهي. هن هدايتن کي استعمال ڪندي توهان هڪ شئي ٺاهي سگهو ٿا ۽ توهان ان کي رنگ پڻ ڪري سگهو ٿا، پر هي خاص هدايت اهو نه ٿو ٻڌائي ته ڪيئن (هن شئي جي بنياد تي ڳاڙهي شئي ٺاهڻ لاءِ پنهنجون هدايتون لکو ۽ بيان ڪريو ته ان کي رنگ ڪيئن ڪجي).

جڏهن هڪ گھڻن موضوعن واري ماحول ۾ ڪم ڪري، خاص ماڊل استعمال ڪري سگھجن ٿيون:
  1. Syncronized modifier صرف طريقن لاء استعمال ڪيو ويندو آهي. ان جي موجودگي ظاهر ڪري ٿي ته صرف هڪ سلسلي ان کي هڪ وقت تي عمل ڪري سگهي ٿو. هڪ اعتراض جي اندر ڪوڊ جي الڳ بلاڪ طور پڻ استعمال ڪري سگهجي ٿو (مطابقت واري اعتراض جي وضاحت ڪندي).

  2. غير معمولي تبديلي ڪندڙ - صرف متغيرن لاءِ . اها سفارش ڪئي وئي آهي ته متغيرن لاءِ استعمال ڪيو وڃي جيڪي هڪ ئي وقت ڪيترن ئي موضوعن سان استعمال ڪري سگهجن ٿيون. اهڙي تبديليءَ سان هڪ متغير فوري طور تي پروسيسر ڪيش مان مکيه ميموري ۾ نقل ڪيو ويندو آهي هر دفعي جڏهن اهو تبديل ٿئي ٿو، متوازي موضوعن کي سڀ کان تازي قيمت حاصل ڪرڻ جي اجازت ڏئي ٿي.

    اها ڳالهه نوٽ ڪرڻ جي قابل آهي ته volatile انهن حالتن ۾ لاڳو ٿئي ٿو جتي صرف هڪ موضوع هڪ متغير ڏانهن لکي سگهي ٿو، ۽ باقي صرف ان مان پڙهي سگهي ٿو. ٻين ڪيسن لاء، اهو بهتر آهي ته هم وقت سازي موڊيفائر کي طريقن سان شامل ڪيو وڃي جيڪي هڪ مستحڪم متغير ڏانهن لکندا آهن.

  3. عارضي ترميمي - صرف متغيرن لاءِ . هي ترميم ڪندڙ متغيرن کي نشانو بڻائيندو آهي جن کي ڇڏڻ جي ضرورت هوندي آهي جڏهن ڪنهن شئي کي سيريل ڪيو ويندو آهي (هي اهڙو سمارٽ عمل آهي، اصولي طور تي، توهان ان بابت پاڻ پڙهي سگهو ٿا...)*

    * - مون هي مضمون 17 ليول تي لکيو ۽ ان وقت تائين سيريلائيزيشن جو عمل بيان نه ڪيو ويو هو، تنهن ڪري ڪاپي پيسٽ ڪرڻ بدران، مان توهان کي صلاح ڏيان ٿو ته جيڪڏهن ضرورت هجي ته ان کي پاڻ پڙهو.

متضاد تبديل ڪندڙ جوڙا مختلف طبقن، شين ۽ شعبن ۾ تبديلين جي لاڳو ٿيڻ کان علاوه، متضاد جوڑوں جو تصور پڻ آهي. اچو ته چئو ته هيلمٽ کي طاقت سان جادو ڪرڻ ان کي ڳري بڻائي ٿو، ۽ ساڳئي وقت توهان ان کي روشن ڪرڻ لاء جادو ڪرڻ چاهيو ٿا. هڪ ٻئي سان ٺهڪندڙ نه آهي.
  1. Final and Volatile - جڏھن اھو variables تي اچي ٿو، اسان ھڪ ئي وقت اھو نٿا چئي سگھون ته اھو حتمي (مسلسل) آھي ۽ ڪيترائي ٿريڊ ان کي تبديل ڪرڻ جي صلاحيت رکن ٿا... آخرڪار، اھو مستقل آھي، ۽ ڪنھن به وقت ھڪڙو ٿريڊ ان کي پڙھي سگھي ٿو. ، پر هڪ به ڌاڳو مستقل تبديل نٿو ڪري سگهي (عالمي نگران ڪائونسل ان جي اجازت نه ڏيندي).
  2. حتمي ۽ خلاصو - ڪلاس ۽ طريقا ٻئي خلاصا نٿا ٿي سگهن (جيڪو اڪثر ڪيسن ۾ انهن تي عمل درآمد لاءِ واضح ڪرڻ جي ضرورت جو مطلب آهي) ۽ حتمي، يعني. ناقابل بدل اهو ظاهر ٿئي ٿو ته هدايتن جو چوڻ آهي ته ڪنهن به مواد (خلاصي حصو) مان هڪ سٺو پائيدار هيلمٽ ڪيئن ٺاهيو، پر ان لاء ان ۾ ڪو سوراخ نه هجڻ گهرجي (آخري لازمي حصو، تبديل نه ٿي ڪري سگھجي).
  3. خلاصو ۽ جامد - هڪ خلاصو طريقو هڪ ئي وقت ۾ جامد يا هم وقت سازي نٿو ڪري سگهجي. جامد تجريدي طريقي جو ڪو به مطلب نه آهي، ڇاڪاڻ ته اهو نه رڳو ڪجهه نٿو ڪري، پر اهو پڻ هڪ پوري طبقي سان تعلق رکي ٿو - نتيجو هڪ بيڪار شيء آهي.
  4. خلاصو ۽ هم وقت سازي - انهي طريقي سان ڪم کي هم وقت سازي ڪرڻ جو ڪهڙو مقصد آهي جيڪو ڪجهه نٿو ڪري؟
خلاصو پوءِ، ترميم ڪندڙن جي وضاحت ختم ٿي چڪي آهي، سڀ تڪرار حل ڪيا ويا آهن ۽ هاڻي توهان نتيجو کي چيٽ شيٽ سان گڏ ڪري سگهو ٿا - هڪ جادوگر ڊراگرام: تبديل ڪرڻ وارا يا جاوا جي دنيا ۾ جادو جا طريقا - 3نتيجي ۾، مان اهو چوڻ چاهيان ٿو ته هي مضمون لکڻ منهنجي خواهش جي حقيقت هئي. تبديلين جو مطالعو ڪرڻ لاء. ڇا تجربو ڪامياب آهي يا نه اهو فيصلو ڪرڻ توهان تي آهي. مان ان کي بهتر ڪرڻ/ درست ڪرڻ لاءِ توهان جي تجويزن جو انتظار ڪري رهيو آهيان ۽، شايد گڏ، اسين ان کي شروعاتي جاوا رانديگرن لاءِ هڪ تمام ڪارائتو دستور بڻائينداسين.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION