جاوا ڈویلپر کا روڈ میپ
میرا ایک دوست سوچ رہا تھا کہ ڈویلپرز ہمیشہ اتنے خوش کیوں رہتے ہیں۔ اس کے ساتھ جو جواب آیا وہ سادہ اور حیران کن تھا: وہ وہی کرتے ہیں جو وہ پسند کرتے ہیں اور بڑی رقم کماتے ہیں۔ سافٹ ویئر ڈویلپرز کی دنیا میں خوش آمدید۔![اولڈ لیول 06 - 1](https://cdn.codegym.cc/images/article/19d25706-3262-447b-8e1b-d8f628e6d1b3/800.jpeg)
سافٹ ویئر ڈویلپر کی تنخواہ
میں آپ کو ڈویلپرز کی تنخواہوں کے بارے میں بتانا چاہوں گا۔ تنخواہوں کے ساتھ زمین کس طرح ہے، آپ کو کہاں کام کرنا چاہیے، اور کہاں نہیں جانا چاہیے۔ اگر آپ ڈویلپر نہیں ہیں اور اسے خود ہی حل کرنے کی کوشش کرتے ہیں، تو آپ کو ایک متنازعہ ڈیٹا مل سکتا ہے۔ اہم نکتہ یہ ہے کہ ایک ڈویلپر کی تنخواہ کو متاثر کرنے والا بڑا عنصر اہلیت نہیں، بلکہ ملازمت کی جگہ ہے۔ بعض اوقات، مساوی قابلیت کی سطح کو دیکھتے ہوئے، ملازمت کی اچھی اور بری جگہ کے درمیان فرق 2 سے 10 گنا (!) ہو سکتا ہے ہر ایک لمحے میں آپ کی اہلیت مستقل رہتی ہے۔ آپ ایک مہینے میں دوگنا اہل نہیں بن سکتے اور دگنی تنخواہ نہیں پا سکتے۔ لیکن آپ ایک مہینے میں کام کی جگہ بدل سکتے ہیں اور دو گنا بڑی تنخواہ حاصل کر سکتے ہیں۔ ایک بار دو ماہ کے بہاؤ میں میری تنخواہ تین سے بڑھ گئی (!) - ناقابل فراموش تجربہ۔ تو، آئیے معلوم کریں، کون سی جگہ بہترین ہے۔ یہاں کمپنیوں میں تنخواہ کی سطح کو متاثر کرنے والے تین عوامل ہیں:- چاہے کمپنی کا بنیادی کاروبار سافٹ ویئر ڈویلپمنٹ ہے۔
- چاہے کمپنی عالمی یا مقامی مارکیٹ پر مبنی ہو۔
- مرکزی دفتر کہاں واقع ہے: ترقی یافتہ ملک یا ترقی پذیر ملک
مخصوص نمبر
چونکہ دنیا کے مختلف حصوں میں تنخواہیں مختلف ہوتی ہیں، اس لیے میں 5 سال کے تجربے کے ساتھ سینئر جاوا ڈیولپر کی تنخواہ کو ابتدائی نقطہ کے طور پر لینے اور اسے "5 سال زیادہ سے زیادہ" کہنے کی تجویز کرتا ہوں۔ ذیل کے تمام اعداد و شمار اس رقم کے فیصد کے طور پر دیئے جائیں گے۔ یہاں دنیا کے مختلف شہروں میں "5 سال کی زیادہ سے زیادہ" تنخواہوں کی کچھ مثالیں ہیں:![اولڈ لیول 06 - 2](https://cdn.codegym.cc/images/article/1afaa877-5c1d-4093-91f9-af2b596fc1f1/800.jpeg)
![اولڈ لیول 06 - 3](https://cdn.codegym.cc/images/article/417f0805-fde8-4d4d-a3e9-f6d0ea805e7c/800.jpeg)
![اولڈ لیول 06 - 4](https://cdn.codegym.cc/images/article/89ad7cb7-db6d-4f32-ad72-4be161d604f8/800.jpeg)
آپ کیا حاصل کرسکتے ہیں جب تک کہ آپ احمقانہ کام نہ کریں۔
اگر آپ ابھی پروگرامنگ میں اپنی خود تعلیم پر کام کرنا شروع کرتے ہیں، تو آپ کی تنخواہ اس طرح نظر آسکتی ہے:![اولڈ لیول 06 - 5](https://cdn.codegym.cc/images/article/06c56ee7-2f9d-4e5e-aae4-e702673789de/800.jpeg)
منصوبہ
0-3 ماہ (طالب علم)
آپ پروگرامنگ کے بارے میں بہت کم جانتے ہیں۔ آپ نے اسے بنیادی سطح پر اسکول یا کالج میں پڑھا ہوگا۔ آپ کو جاوا کو پروگرام کرنے اور سیکھنے کا طریقہ سیکھنے کی ضرورت ہے ۔ آپ کا مقصد لیول 3 یا اس سے اوپر کی کمپنی میں جاوا جونیئر ڈیولپر کے طور پر نوکری حاصل کرنا ہے۔ پلان کے پہلے تین ماہ کے لیے آپ کو کچھ نہیں ملے گا، کیونکہ آپ صرف پروگرام کرنا سیکھ رہے ہیں۔ لیکن جتنی جلدی آپ شروع کریں گے اتنا ہی بہتر ہے۔ بہترین وقت ابھی ہے۔ مستقبل میں، جب آپ کا خاندان ہو اور قرضوں کی بھرمار ہو، تو اسے دوبارہ حاصل کرنا بہت مشکل ہو جائے گا۔ اپنی غلطی کو درست کرنے کے لیے آپ کو کم از کم ایک سال کی عام زندگی کی ادائیگی کے لیے رقم الگ کرنی ہوگی۔ احمقانہ غلطیاں نہ کریں۔3-15 ماہ (جاوا جونیئر ڈیولپر)
آپ پہلے سے ہی ایک سافٹ ویئر ڈویلپر کے طور پر کام کرتے ہیں اور آپ کا تجربہ روزانہ بڑھتا ہے۔ آرام نہ کرو۔ اوئرز پر آرام کرنے سے پہلے آپ کو بہت کچھ کرنا ہے۔ آپ کو کیا کرنے کی ضرورت ہے – ایک مڈل ڈیولپر کے طور پر آپ کو درکار ٹیکنالوجیز کا مطالعہ کریں۔ یہ سب کیا ہے؟ دنیا مسلسل بدل رہی ہے۔ میں آپ کو مشورے دوں گا اور زندگی یہ سب بدل دے گی۔ ویب پر چند اسامیاں تلاش کریں اور دیکھیں کہ آپ کو کیا درخواست دینے کی ضرورت ہے۔ بروس ایکل کی کتاب "تھنکنگ ان جاوا" ضرور پڑھیں۔ جاوا جونیئر ڈیولپر کے طور پر کام کرنے کے پہلے سال میں آپ کا مقصد Java Middle Developer کی سطح تک پہنچنا ہے۔ کوئی نہیں کہتا کہ یہ آسان ہو گا، لیکن یہ مقصد پر مبنی شخص کے لیے ممکن ہے۔ یہ آپ کی تنخواہ میں "5 سال کی زیادہ سے زیادہ" کے 40% تک ($50K SF اور لندن کے لیے، $6K بنگلور کے لیے) تک بڑھائے گا۔2-d سالہ پروگرامنگ (جاوا مڈل ڈویلپر، لیول 1)
آپ نے پچھلے سال ایک اچھا کام کیا ہے اور اب آپ جاوا مڈل ڈیولپر ہیں۔ آپ سینئر جاوا ڈیولپر کی تنخواہ کا 50% کما کر بہت اچھی زندگی گزار سکتے ہیں۔ آپ کو کام پر کچھ سنجیدہ کام دیے جا رہے ہیں اور آپ کا تجربہ نمایاں طور پر بڑھ رہا ہے۔ آپ دو یا تین سالوں میں Java سینئر ڈویلپر کی سطح تک پہنچ جائیں گے۔ جلدی کرنے کی ضرورت نہیں۔ آپ کو ویسے بھی تنخواہ میں بڑا اوپر نہیں ملے گا۔ آپ کو ڈیزائن کے نمونے سیکھنے کی ضرورت ہے ، پڑھیں - میک کونل کا کوڈ مکمل۔ اپنے کوڈ اور ٹیم کی مہارت کے معیار کو بہترین بنائیں۔ کمپیوٹر پروگرامنگ پر ہر ماہ 1 کتاب پڑھنے کا اصول بنائیں۔ پھر، 4 سالوں میں آپ باقی تمام کتابوں سے 50 زیادہ ہوشیار ہو جائیں گے۔ اسے ملتوی نہ کریں: آپ کو کوئی زیادہ فالتو وقت نہیں ملے گا، اس کے علاوہ، زیادہ تر امکان ہے کہ آپ ایک خاندان شروع کریں گے، یا اگر آپ کے پاس ہے، تو یہ بڑا ہو جائے گا۔ آپ کا مقصد ایک سینئر جاوا ڈیولپر کے طور پر مہارت حاصل کرنے کے لیے چند ٹیکنالوجیز کا انتخاب کرنا ہے۔ آپ ان سب کو نہیں سیکھ سکتے، آپ جانتے ہیں۔ اور ایک ہی مہارت میں گرو بننا ہمیشہ اچھا فیصلہ ہوتا ہے۔![اولڈ لیول 06 - 6](https://cdn.codegym.cc/images/article/07ba983e-9cf5-4f2d-8b63-90df726b6aa5/800.jpeg)
3-ڈی سالہ پروگرامنگ (جاوا مڈل ڈویلپر، لیول 2)
اب آپ ایک تجربہ کار مڈل ڈویلپر ہیں اور آپ ایک سینئر ڈویلپر بننے کے بارے میں سوچ رہے ہیں۔ یہ خوشگوار ہونے کے ساتھ ساتھ معزز بھی ہے۔ آپ کی تنخواہ "5 سال کی زیادہ سے زیادہ" کے 60% سے زیادہ ہے (بنگلور میں $10K، کیف میں $25K، برلن میں $40K، نیویارک میں $80K)۔ اس لمحے سے آپ جیسے پیشہ ور افراد کی مانگ پر پیشکش بڑھ جاتی ہے۔ آپ ہمیشہ ایک دو دنوں میں نوکری تلاش کرنے کے قابل ہو جائیں گے اور آپ شاید ہی کبھی اس سے کم کمائیں گے جتنا آپ اب کرتے ہیں۔ یہ، یقینا، اگر آپ کچھ بیوقوف نہیں کرتے ہیں. آپ کو کیا کرنے کی ضرورت ہے اپنی منتخب کردہ ٹیکنالوجیز کا مطالعہ کرتے رہیں۔ بہتر کام کریں۔ اپنے آجر کی خاطر نہیں، اپنے لیے۔ امید افزا ٹیکنالوجیز پر مشتمل پروجیکٹس میں حصہ لینے کے لیے درخواست دیں (جیسے بگ ڈیٹا، اس وقت یہ مضمون لکھا جا رہا ہے)۔ آپ ویسے بھی دن میں 8 گھنٹے دفتر میں گزارتے ہوں گے، تو کیوں نہ اس کے لیے تھوڑا اور پیسہ حاصل کیا جائے، اور، اس سے بھی زیادہ اہم، سب سے قیمتی تجربہ کیا ہے جس کی آپ کو مستقبل میں ضرورت ہوگی۔ آپ کا مقصد نئی نوکری تلاش کرنا ہے۔ ایک اچھی ٹیم ہمیشہ مل جاتی ہے۔ آپ کو نئے منصوبوں اور ٹیکنالوجیز کا سامنا کرنا پڑے گا۔ آپ کو اپنی کرسی سے جڑنے کی ضرورت نہیں ہے۔ اگر آپ اب بھی تیسرے درجے کی کمپنی میں کام کر رہے ہیں تو چوتھے درجے کی کمپنی میں ملازمت کرنے کے بارے میں سوچیں۔پانچویں سالہ پروگرامنگ (جاوا سینئر ڈویلپر، لیول 1
اب آپ ایک سینئر ڈویلپر ہیں۔ شاید، آپ اس کے مستحق نہیں تھے، اور آپ اسے محسوس کرتے ہیں۔ پھر بھی، میری مبارکباد۔ اس سے کوئی فرق نہیں پڑتا کہ آپ ابھی اپنے عہدے کے لائق ہیں یا نہیں، بس اس سے فرق پڑتا ہے کہ آپ مستقبل میں اس کے لائق بنیں گے۔ میرے خیال میں آپ اس بات سے اتفاق کریں گے کہ اچھی نوکری حاصل کرنا بہتر ہے اور مطلوبہ سطح تک بڑھنے کے بعد اس کے برعکس۔ مجھے امید ہے کہ آپ مہینے میں ایک کتاب پڑھنے کا میرا مشورہ نہیں بھولے ہوں گے؟ اب کوئی بھی طالب علم آپ کے علم اور مہارت پر رشک کرے گا۔ مزید مخصوص ہونے کے لیے، وہ ان پر دعا کرے گا۔ ذرا اس کے بارے میں سوچیں: آپ کو "5 سال کی زیادہ سے زیادہ" تنخواہ کے 90% کے قریب، سنجیدہ آمدنی ہوئی ہے۔ آپ شاید ابھی جوان ہیں۔ دنیا آپ کے قدموں میں ہے۔ آپ کو جو کچھ کرنے کی ضرورت ہے وہ ہے آپ کی منتخب کردہ ٹیکنالوجیز کا دوبارہ جائزہ لینا۔ شاید، آپ کو مہارت کو تبدیل کرنے کی ضرورت ہے۔ دنیا بدل گئی ہے، ٹیکنالوجیز بدل گئی ہیں، اور آپ نے پچھلے دو سالوں میں کافی علم حاصل کیا ہے۔ جو آپ ابھی منتخب کرتے ہیں وہ اگلے چند سالوں کے لیے آپ کے لیے سرخی بن جائے گی۔ اپنی پسندیدہ ٹیکنالوجیز کا انتخاب کرنے کا وقت آگیا ہے۔ آپ کا مقصد اپنی ترقی کی سمت کا انتخاب کرنا ہے۔ وہ بے شمار ہیں، کوئی ان سب کا نام نہیں لے سکتا، لیکن آپ کا انتخاب ابھی کرنا ہے۔ اگر آپ آج تھوڑی سی تبدیلی کرتے ہیں، تو آپ کو مستقبل میں ایک بڑی تبدیلی ملے گی۔6 سالہ پروگرامنگ (جاوا سینئر ڈویلپر، سطح 2)
آپ نے اپنے مستقبل کا فیصلہ کر لیا ہے اور آپ اپنے خواب کو پورا کرنے کے لیے کام کر رہے ہیں۔ آگے بڑھنے کی خواہش کے ساتھ صحیح طریقے سے منتخب کردہ سمت – اور نتیجہ طویل نہیں ہوگا۔ مبارک ہو میں یہ دیکھ کر خوش ہوں کہ ایک اور شخص نے اس کا خواب پورا کیا۔ ایک گہرا سچ ہے۔ لوگ اکثر اس بات کا اندازہ لگاتے ہیں کہ وہ ایک سال میں کیا حاصل کر سکتے ہیں اور کم اندازہ لگاتے ہیں کہ وہ پانچ میں کیا کر سکتے ہیں۔ پانچ سال پیچھے دیکھو۔ ایسا ہی ہے. آپ کو جو کام کرنے کی ضرورت ہے وہ یہ ہے کہ غیر دانشمندانہ فیصلوں سے گریز کریں اور سستی نہ کریں۔ آپ کا مقصد سمت کا انتخاب کرنا اور آگے بڑھنا ہے۔ یا آپ نے سوچا کہ یہ یہاں ختم ہوتا ہے؟ اپنی گریجویشن کو یاد رکھیں۔ یہ اختتام نہیں ہے، یہ صرف آغاز ہے.آپ مستقبل کی مہارت
![پرانا درجہ 06 - 7](https://cdn.codegym.cc/images/article/896e521a-6e71-467f-9066-8538285f1f7d/1080.jpeg)
جاوا ڈویلپر کا کیریئر
ڈویلپر کا کیریئر کسی دوسرے سے مختلف ہے۔ اچھا پیسہ کمانے کے لیے آپ کو مینیجر بننے کی ضرورت نہیں ہے۔ اکثر ایسا ہوتا ہے کہ ایک سینئر ڈویلپر اپنے مینیجر-باس سے زیادہ کماتا ہے۔ آپ جتنا زیادہ تجربہ حاصل کریں گے آپ کے باس کے ساتھ آپ کے کام کے تعلقات اتنے ہی مضبوط ہوں گے "باس ماتحت" سے "اسٹار اور مینیجر" میں تبدیل ہو جائیں گے۔![اولڈ لیول 06 - 8](https://cdn.codegym.cc/images/article/974ae291-df1d-4ce3-aaf5-29cad8d43679/800.jpeg)
دو سو سالہ ڈویلپر
اگر آپ سب سے زیادہ پروگرامنگ سے لطف اندوز ہوتے ہیں، تو یہ آپ کا طریقہ ہے: سینئر ڈویلپر، پھر ٹیک لیڈ ڈیولپر اور ایک آرکیٹیکٹ۔ اس طرح آپ ڈیولپر کے طور پر 50 سال اور اس سے زیادہ کے لیے کام کر سکتے ہیں۔ زیادہ تر معاملات میں سینئر ڈویلپرز اور ٹیک لیڈ ڈویلپرز کی تنخواہیں ان کے مینیجرز سے زیادہ ہوتی ہیں۔ تو اپنے پیسے کی قیمت حاصل کریں۔مینیجر آپ خوش قسمت ہیں کہ آپ دوسروں کی طرح نہیں ہیں۔
آپ دشمن کے پاس چلے گئے۔ صرف مذاق کر رہا ہوں۔ اگر آپ عظیم تنظیمی مہارتیں دریافت کرتے ہیں، تو آپ کے طریقے یہ ہیں: ٹیم لیڈ، اور پھر پروجیکٹ مینیجر۔ یہ آپ کو محکمہ کا سربراہ بننے اور اپنا کاروبار کھولنے کا موقع فراہم کرے گا۔ آپ یہی چاہتے ہیں، ہے نا؟گھر ہے جہاں دل ہے
![اولڈ لیول 06 - 9](https://cdn.codegym.cc/images/article/63d085b9-b1d0-45b3-9f1e-0a4ec1883e75/800.jpeg)
نیپلز دیکھیں اور مریں نہیں۔
آپ کا ابھی تک کوئی خاندان نہیں ہے اور آپ کو سفر کرنا پسند ہے ۔ oDesk آپ کا سب کچھ ہے۔ ایک کلائنٹ تلاش کریں، $20-$50 فی گھنٹہ کی شرح سے اتفاق کریں، اپنے ساتھ ایک لیپ ٹاپ لیں اور جائیں! آپ کی تنخواہ دنیا میں کہیں بھی رہنے کے لیے کافی ہوگی۔ کیوں نہ اپنے خوابوں کو فوراً پورا کرنا شروع کر دیں؟میں پروگرام نہیں کرنا چاہتی میں لڑکی ہوں..
اگر آپ لڑکی ہیں تو آپ کو زچگی کی چھٹی لینے کی ضرورت پڑ سکتی ہے ۔ یہ ایک جنسی مذاق کی طرح لگتا ہے، جو یہ ہے. پھر بھی، اس میں بہت سی عقل ہے۔ غالباً، زچگی کی چھٹی لینے سے آپ زچگی کی چھٹی کے بہت سارے پیسے حاصل کر سکیں گے (اعلی سماجی تحفظ والے ممالک میں)۔ ایسی کمپنیاں ہیں جو کچھ نہیں ادا کرتی ہیں، اور ایسی کمپنیاں ہیں جو اچھی ادائیگی کرتی ہیں۔ میرے ایک طالب علم کو زچگی کی چھٹی پر جانے والی سالانہ تنخواہ کا ایک تہائی حصہ ملا۔ اور یہ 2009 کے موسم بہار میں، ملازمتوں کی چھانٹی کے دوران ہوا تھا۔ اور ڈیڑھ سال میں آپ کم از کم مڈل ڈویلپر ہونے کے ناطے واپس آ سکتے ہیں۔لیول 6
![پرانا درجہ 06 - 10](https://cdn.codegym.cc/images/article/c26ec3c8-8a08-4404-b92b-21557796c6e7/800.jpeg)
1 ایلی آبجیکٹ کی مرئیت۔ خالی
- ارے، امیگو! - ہیلو، ایلی! کیا آپ مجھے آج کوئی دلچسپ بات بتائیں گے؟ - آج میں آپ کو ایک چیز کی زندگی کے بارے میں بتاؤں گا ۔ کسی شے کے بننے کے بعد، یہ اس وقت تک موجود رہتا ہے (زندگی) جب تک کہ کم از کم ایک متغیر اپنا پتہ محفوظ نہ کر لے (کم از کم ایک آبجیکٹ کا حوالہ ہے)۔ اگر اب کوئی حوالہ نہیں ہے، تو اعتراض مر جاتا ہے. مثالیں:![اولڈ لیول 06 - 11](https://cdn.codegym.cc/images/article/70ecf870-832e-438a-94c0-433ae6dab2ee/512.jpeg)
2 پروفیسر، کچرا جمع کرنے والا
![اولڈ لیول 06 - 12](https://cdn.codegym.cc/images/article/a4a7bf6c-5233-4d13-a720-ca630b7fa73e/1080.jpeg)
3 ایلی، حتمی شکل دینا
- ہیلو دوبارہ! اب میں آپ کو طریقہ کا مختصر تعارف دوں گا finalize() ۔ اس طریقہ کو جاوا ورچوئل مشین کے ذریعہ آبجیکٹ کے تباہ ہونے سے پہلے کہا جاتا ہے۔ درحقیقت یہ طریقہ کنسٹرکٹر کے مخالف ہے۔ اس طریقہ میں کسی چیز کے ذریعہ استعمال ہونے والے وسائل کو جاری کرنا ممکن ہے۔ - کلاس آبجیکٹ کے پاس یہ طریقہ ہے، لہذا، ہر کلاس میں یہ ہے ( جاوا میں تمام کلاسوں کو کلاس آبجیکٹ سے وراثت میں لیا جاتا ہے اور اس کے طریقوں کی ایک کاپی پر مشتمل ہے )۔ اگر آپ اپنی کلاس میں فائنلائز() طریقہ لکھتے ہیں اور اس کلاس کی اشیاء کے تباہ ہونے سے پہلے اسے کال کیا جائے گا۔ مثال:![اولڈ لیول 06 - 13](https://cdn.codegym.cc/images/article/a8882f08-1770-499b-8541-8962af6914c1/512.jpeg)
4 ایلی، آبجیکٹ لائف ٹائم
- میں آپ کو آبجیکٹ لائف ٹائم کے بارے میں کچھ دلچسپ باتیں بھی بتانا چاہتا ہوں۔ جاوا میں، حادثاتی طور پر چیز کو کھونا بہت مشکل ہے۔ اگر آپ کے پاس آبجیکٹ کا حوالہ ہے تو اس کا مطلب ہے کہ وہ چیز یقینی طور پر زندہ ہے۔ - کسی آبجیکٹ کے حوالہ کے اندر ایک نمبر ذخیرہ کرتا ہے - میموری میں اس آبجیکٹ کا پتہ۔ آپ اس نمبر کو تبدیل نہیں کر سکتے، اسے بڑھا یا گھٹا نہیں سکتے۔ جب آپ کے پاس صرف میموری میں پتہ ہو تو آپ حوالہ نہیں بنا سکتے۔ آپ صرف ایک نیا آبجیکٹ بنا سکتے ہیں اور اس کا حوالہ متغیر کو تفویض کر سکتے ہیں۔ نیا حوالہ حاصل کرنے کا یہ واحد طریقہ ہے۔ - میں سمجھ گیا، اچھا. یعنی، اگر میں تمام آبجیکٹ حوالہ جات کو کالعدم (مٹانے) پر سیٹ کرتا ہوں، تو مجھے کبھی بھی آبجیکٹ کا حوالہ نہیں ملے گا اور اس تک رسائی حاصل نہیں کروں گا؟ - جی ہاں. لیکن اکثر اس کے برعکس ہوتا ہے - بہت زیادہ زندہ اشیاء غیر استعمال شدہ ہیں۔ زیادہ تر پروگرام درجنوں اشیاء بناتے ہیں اور رن ٹائم پر انہیں مختلف فہرستوں میں محفوظ کرتے ہیں، لیکن ان فہرستوں کو کبھی صاف نہیں کرتے۔ - زیادہ تر، پروگرامر ناپسندیدہ اشیاء کو "حذف شدہ" کے طور پر لیبل کرتے ہیں، بس۔ ان کو فہرستوں سے نکالنے کی کوئی پرواہ نہیں کرتا۔ اس لیے بڑے جاوا پروگرام پھول جاتے ہیں - زیادہ سے زیادہ غیر استعمال شدہ اشیاء میموری میں زندہ رہتی ہیں۔ - یہ سب ہے. مستقبل میں میں ہمیشہ آپ کی توجہ غیر استعمال شدہ اشیاء اور ان کے مناسب ٹھکانے کی طرف مبذول کروں گا۔ - ٹھیک ہے، شکریہ. آپ نے حوالہ جات کے بارے میں ایک دو چیزوں کو صاف کیا ہے۔5 ڈیاگو، آبجیکٹ لائف ٹائم ٹاسک
- ارے، امیگو! یہاں آپ کے لیے کچھ کام ہیں:کام | |
---|---|
1 | 1. کیٹ کلاس کا طریقہ فائنل کریں |
3 | 2. کلاسز بلی اور کتے اور ہر کلاس کے لیے فائنلائز() طریقہ ہر کیٹ اور ڈاگ کلاس میں فائنلائز() طریقہ لکھیں ، جو اسکرین پر ایک پیغام دکھاتا ہے کہ آبجیکٹ تباہ ہو گیا ہے۔ |
3 | 3. کیٹ کلاس کی 50,000 اشیاء اور ڈاگ کلاس کی 50,000 اشیاء ایک لوپ میں بنائیں کیٹ کلاس کی 50,000 اشیاء اور ڈاگ کلاس کی 50,000 اشیاء۔ (جاوا ورچوئل مشین غیر استعمال شدہ اشیاء کو تباہ کر دے گی، اس لیے طریقہ finalize() کو کم از کم ایک بار کہا جائے گا)۔ |
4 | 4. کیٹ کاؤنٹر کیٹ کلاس کنسٹرکٹر [پبلک کیٹ()] میں، کیٹ کاؤنٹر (اسی کلاس کے جامد متغیر catCount) کو 1 تک بڑھا دیں ۔ |
6 ایلی، جامد کلاسز اور طریقے
- یہاں ایک نیا دلچسپ موضوع ہے۔ میں آپ کو جامد متغیرات اور طریقوں کے بارے میں بتانا چاہتا ہوں۔ - اوہ، میں نے پہلے ہی جامد متغیر کے بارے میں سنا ہے۔ جامد طریقوں کے بارے میں بھی، میرا اندازہ ہے۔ لیکن میں مزید تفصیلات حاصل کرنا چاہتا ہوں۔ - کلاس میں متغیرات کا اعلان کرتے وقت، ہم اس بات کی وضاحت کرتے ہیں کہ آیا یہ متغیرات ایک مشترکہ مثال میں بنائے گئے ہیں، یا کیا ہر چیز کے لیے ان کی کاپیاں بنانا ضروری ہے۔ پہلے سے طے شدہ طور پر، کلاس متغیر کی ایک نئی کاپی اس کلاس کے ہر آبجیکٹ کے لیے بنائی جاتی ہے۔ یہ اس کی طرح دکھتا ہے:![اولڈ لیول 06 - 14](https://cdn.codegym.cc/images/article/7a75f73b-2ff1-4f6b-befd-9750d4b9e36a/512.jpeg)
![اولڈ لیول 06 - 15](https://cdn.codegym.cc/images/article/ad249170-a3ef-4165-9f34-eda62b8583cb/512.jpeg)
![اولڈ لیول 06 - 16](https://cdn.codegym.cc/images/article/8ec6718d-391a-4430-8f64-93a26514b88b/512.jpeg)
![اولڈ لیول 06 - 17](https://cdn.codegym.cc/images/article/474f4874-a110-4dbd-aa9a-ef7a43b2cd5e/512.jpeg)
7 ریشا، جامد کلاسز اور طریقے
- جامد طریقوں کے علاوہ جامد کلاسیں بھی ہیں ۔ ہم اس معاملے پر بعد میں غور کریں گے، میں آپ کو صرف اس کی ایک مثال دکھانے جا رہا ہوں:![اولڈ لیول 06 - 18](https://cdn.codegym.cc/images/article/276e92dc-a35e-4148-9640-dec042a08a19/512.jpeg)
8 ڈیاگو، جامد طریقہ پر کام
- ارے، امیگو! جامد طریقوں پر کچھ دلچسپ کام یہ ہیں:کام | |
1 | 1. کلاس کیٹ اور جامد متغیر catCount کلاس Cat میں ایک جامد متغیر int catCount لکھیں ۔ ایک کنسٹرکٹر [ public Cat() ] بنائیں، جس میں دیئے گئے متغیر کو 1 سے بڑھایا جائے۔ |
2 | 2. جامد طریقے: int getCatCount() اور setCatCount(int) Cat کلاس میں دو جامد طریقے شامل کریں: int getCatCount( ) اور setCatCount(int) جس کا استعمال کرتے ہوئے آپ بلیوں کی تعداد (متغیر catCount) حاصل / تبدیل کرسکتے ہیں۔ |
3 | 3. کلاس Util ایک جامد طریقہ کو نافذ کریں ڈبل getDistance(x1, y1, x2, y2) ۔ اسے پوائنٹس کے درمیان فاصلے کا حساب لگانا چاہیے۔ پاس شدہ پیرامیٹر کے مربع جڑ کا حساب لگانے کے لیے طریقہ double Math.sqrt(double a) کا استعمال کریں |
4 | 4. Class ConsoleReader ایک کلاس ConsoleReader لکھیں، جس کے 4 جامد طریقے ہوں گے: - کی بورڈ سے سٹرنگز پڑھنے کے لیے String readString() - int readInt() کی بورڈ سے نمبر پڑھنے کے لیے - ڈبل readDouble() کی بورڈ سے فریکشنل نمبرز پڑھنے کے لیے - void readLn () انٹر دبانے کا انتظار کرنے کے لیے [استعمال readString()] |
5 | 5. Class StringHelper ایک کلاس StringHelper لکھیں، جس کے 2 جامد طریقے ہوں گے: - String multiply(String s، int count) کو سٹرنگ کی بار بار گنتی کے اوقات لوٹانا چاہیے۔ - سٹرنگ ضرب (اسٹرنگ s) کو 5 بار دہرائی گئی سٹرنگ کو لوٹانا چاہیے۔ مثال: Amigo → AmigoAmigoAmigoAmigoAmigo |
9 پروفیسر، آبجیکٹ جامد دائرہ کار اور زندگی بھر
![اولڈ لیول 06 - 19](https://cdn.codegym.cc/images/article/77240abd-fb6c-4f52-a2b3-9cb326912345/1080.jpeg)
10 جولیو
- ارے، امیگو! آپ نے آج بہت اچھا کام کیا۔ اس لیے میں آپ کو زیادہ نہیں دے سکتا۔ چلو، بیٹھو، شو شروع ہوتا ہے:11 کیپٹن گلہری
- ہیلو، فوجی! - صبح بخیر صاحب! - میرے پاس آپ کے لیے کچھ اچھی خبریں ہیں۔ اپنی صلاحیتوں کو تقویت دینے کے لیے یہاں ایک فوری چیک ہے۔ اسے ہر روز کریں، اور آپ اپنی صلاحیتوں میں تیزی سے اضافہ کریں گے۔ کام خاص طور پر Intellij IDEA میں کرنے کے لیے بنائے گئے ہیں۔Intellij Idea میں کرنے کے لیے اضافی کام | |
---|---|
1 | کلاس کیٹ اور جامد متغیر catCount کلاس کیٹ میں ایک جامد متغیر عوامی int catCount لکھیں ۔ ایک کنسٹرکٹر [عوامی کیٹ()] بنائیں۔ جب بھی آپ بلی (ایک نئی آبجیکٹ کیٹ) بناتے ہیں تو جامد متغیر catCount کو 1 تک بڑھنے دیں۔ 10 اشیاء کیٹ بنائیں اور متغیر کی قدر دکھائیں catCount ۔ |
2 | 2. جامد بلیاں
متغیر بنانے کے لیے کوڈ لائن کا استعمال کریں: عوامی جامد ArrayList<Cat> cats = new ArrayList<Cat>(); |
3 | 3. ایک سٹیٹک موڈیفائر کو منتقل کریں ایک سٹیٹک موڈیفائر کو منتقل کریں تاکہ کوڈ کمپائل ہو جائے۔ |
4 | 4. جامد مطلوبہ الفاظ کی کم از کم تعداد کوڈ کو مرتب کرنے اور پروگرام کو کامیابی سے مکمل کرنے کے لیے جامد مطلوبہ الفاظ کی کم از کم تعداد شامل کریں ۔ |
5 | 5. کوئی نیا آئیڈیا؟ چلو سوچتے ہیں...
|
6 | 6. KissMyShinyMetalAss KissMyShinyMetalAss نام کی ایک کلاس لکھیں۔ اس کلاس کا ایک آبجیکٹ بنائیں، پھر اسے اسکرین پر ڈسپلے کریں۔ |
7 | 7. تین جامد متغیرات کا نام 3 عوامی جامد متغیرات لکھیں: String Solution.name ، String Cat.name ، String Dog.name |
GO TO FULL VERSION