CodeGym /جاوا بلاگ /Random-UR /پرانا درجہ 05
John Squirrels
سطح
San Francisco

پرانا درجہ 05

گروپ میں شائع ہوا۔

کیا میں سافٹ ویئر ڈویلپر بن سکتا ہوں؟

اولڈ لیول 05 - 1سمندری اصول کہتا ہے: اگر آپ جسمانی طور پر موزوں مرد یا عورت پاتے ہیں، تو آپ اسے ایک منفرد لڑاکا بنا سکتے ہیں، انہیں صحیح تربیت اور تعلیم فراہم کر کے۔ پروگرامنگ وہی مہارت ہے جو گٹار بجانا، تیراکی کرنا یا موٹر سائیکل چلانا ہے۔ لوگ پیدائشی طور پر بائیکر نہیں ہوتے۔ جب میں اپنے دوستوں کو دیکھتا ہوں، جو میرے مقابلے میں دوگنا محنت کرتے ہیں اور چار گنا کم رقم حاصل کرتے ہیں، تو میں مندرجہ ذیل گفتگو شروع کرتا ہوں: — کیا آپ ایک پروگرامر کے طور پر کام کرنا چاہیں گے؟ تم واقعی ہوشیار ہو۔ شاید، آپ صرف اپنی جگہ پر نہیں ہیں؟

سافٹ ویئر کی ترقی کیوں؟

کسی شخص کو پروگرامنگ سکھانا شروع کرنے سے پہلے، ہم بہتر طور پر یہ جان لیں گے کہ یہ اسے کیا دیتا ہے۔

1 آسان اور دلچسپ کام۔

سافٹ ویئر انجینئر ایک سادہ اور دلچسپ کام ہے۔ اس میں تخلیقی صلاحیتوں کی بڑی گنجائش ہے۔ میں اس سے محبت کرتا ہوں سب سے پہلے میں یہ سوچ کر پاگل ہو گیا تھا کہ میں وہی کرتا ہوں جو مجھے پسند ہے اور اس کی قیمت وصول کروں گا۔ لیکن پھر آخرکار مجھے اس کی عادت پڑ گئی۔

2 یہ اچھی طرح سے ادا کیا جاتا ہے.

میں اپنے دوستوں کو 5 سال کے کام میں خود کو کاریں اور گھر خریدتے ہوئے دیکھ کر لطف اندوز ہوتا ہوں۔

3 لچکدار گھنٹے۔

سخت کام کا شیڈول ایک گندی چیز ہے۔ کوئی بھی شخص جو کبھی بھی رش کے اوقات میں ٹریفک جام میں رہا ہو یا 5 منٹ دیر سے ہونے پر جرمانہ ہوا ہو وہ اس کی تصدیق کر سکتا ہے۔ اور صبح 11 بجے کام پر پہنچنے اور شام 5 بجے روانہ ہونے کے بارے میں کیا خیال ہے؟ زیادہ تر پروگرامرز کے لیے یہ ایک معمول کا شیڈول ہے۔ بس اپنا کام کرو اور کوئی ایک لفظ بھی نہیں کہے گا۔ آپ زیادہ تر کمپنیوں میں گھر پر بھی کام کر سکتے ہیں۔ آپ ہمیشہ اپنے آجر کے ساتھ ایک معقول معاہدہ کر سکتے ہیں۔

4 پیشہ ورانہ ترقی۔

زیادہ تر کمپنیوں میں اچھی ادائیگی حاصل کرنے کے لیے آپ کو کیریئر کی سیڑھی چڑھنے کی ضرورت ہوتی ہے۔ ایک سافٹ ویئر ڈویلپر کو صرف ایک سافٹ ویئر ڈویلپر ہونا ضروری ہے۔ آپ کو کسی ڈویلپر سے مینیجر کے لیے دوبارہ اہل نہیں ہونا پڑے گا یا کوئی اہم مقام حاصل کرنے کی کوشش نہیں کرنا پڑے گی۔ آپ کو صرف پیشہ ورانہ طور پر ترقی کرنے کی ضرورت ہے۔ 5 سے 10 سال کا تجربہ رکھنے والے ڈویلپرز کو شاہی معاوضہ دیا جاتا ہے۔

5 اعلی بین الاقوامی نقل و حرکت۔

دنیا میں تین سب سے زیادہ معاوضہ دینے والے پیشے ہیں: ایک وکیل، ایک ڈاکٹر اور ایک سافٹ ویئر ڈویلپر۔ بیرون ملک کام کرنے والے وکلاء کے لیے یہ ایک حقیقی چیلنج ہے: مختلف قوانین، مقدمہ قانون وغیرہ۔ ایک ڈاکٹر کو زبان، دیگر طبی معیارات اور امتحانات پاس کرنے ہوتے ہیں۔ ایک ڈویلپر کو اضافی کچھ سیکھنے کی ضرورت نہیں ہوگی۔ ایک ہی زبان۔ ایک جیسے معیارات۔ اکثر اوقات یہاں تک کہ کلائنٹ ایک جیسے ہوتے ہیں۔

جاوا کیوں؟

مندرجہ ذیل تین عوامل نے مجھے جاوا ڈویلپرز کے لیے لوگوں کو دوبارہ تربیت دینے پر مجبور کیا۔

1. Java — سیکھنے کے لیے سب سے آسان زبانوں میں سے ایک ہے۔

ایک شخص جس نے ابھی اسکول ختم کیا ہے وہ اسے 3 سے 6 ماہ میں سیکھنے کے قابل ہو جاتا ہے، اس کا انحصار بنیادی معلومات اور مطالعے میں لگائے گئے گھنٹوں کی مقدار پر ہوتا ہے۔

2. لیبر مارکیٹ میں زیادہ مانگ۔

آپ پیشگی تجربے کے بغیر نوکری حاصل کر سکتے ہیں۔ کمپنیاں بے تابی سے انٹرنز کو ملازمت دیتی ہیں اور انہیں تعلیم دیتی رہتی ہیں۔

3. میدان میں سب سے زیادہ تنخواہ۔

اعلیٰ ترین میں سے ایک۔ یہ خاص طور پر جونیئر ڈویلپرز کے لیے اہم ہے۔  

پروگرامنگ ایک ہنر ہے۔

اولڈ لیول 05 - 2آپ کتاب پڑھ کر کمپیوٹر پروگرامر نہیں بن سکتے۔ آپ کو کم از کم 500 گھنٹے کی مشق کی ضرورت ہے۔ بالکل باکسنگ کی طرح۔ آپ صرف میچ نہیں دیکھ سکتے اور پیشہ ور نہیں بن سکتے۔ آپ کو سالوں تک تربیت دینے کی ضرورت ہے۔ (یہی وجہ ہے کہ کوڈ جیم کے پاس بہت سارے عملی کام ہیں)۔ آپ کو 10 گھنٹے میں پروگرام کرنے کا طریقہ سکھانے کی تمام پیشکشیں آپ کو 10 گھنٹے میں باکس کرنا سکھانے کی پیشکشوں سے ملتی جلتی ہیں۔ اور پھر آپ کو باکسنگ رنگ میں پھینک دو! ایسا مت کرو۔ کبھی کبھی جب کوئی نوزائیدہ فورمز پر پوچھتا ہے کہ سافٹ ویئر ڈویلپر کیسے بنتا ہے، تو اسے کہا جاتا ہے کہ وہ اپنے لیے کام ایجاد کرے اور انہیں کرے۔ یہ کام نہیں کرے گا۔ بات یہ ہے کہ انسان اپنے علم سے باہر کام نہیں کر سکتا۔ آپ یا تو کچھ جانتے ہیں، یا آپ نہیں جانتے۔ صرف ایک شخص ہی اس موضوع پر اچھی طرح سے مہارت رکھتا ہے جو آپ کے لیے ترتیب وار کام ترتیب دے سکتا ہے، جن میں سے ہر ایک آپ کو نئی چیزیں سکھائے گا اور اسے حل کرنے میں ہفتے نہیں لگیں گے۔ میں نے کوڈ جیم میں یہی کیا۔

جدید تدریسی طریقہ

کوڈ جیم کی تعلیم کالج کی تعلیم سے مختلف طریقے سے بنائی گئی ہے۔ آپ اسے بہت جلد محسوس کریں گے۔ یہ بہت زیادہ موثر ہے۔ کالج میں آپ کی پڑھائی شاید اس طرح تھی: لمبے لیکچرز اور جو کچھ آپ نے سیکھا ہے اس پر عمل کرنا۔ اس نقطہ نظر کی پیروی کرتے ہوئے آپ اپنے علم کو بہتر بناتے ہیں، نہ کہ مہارت۔ سچ پوچھیں تو، آپ نے اس طریقے سے حاصل کی گئی مہارتیں عملی طور پر کوئی اہمیت نہیں رکھتیں۔ میرے پاس ایک اور طریقہ ہے۔ میرا ماننا ہے کہ ایک شخص کو پہلے سوالات پوچھنے چاہئیں، اور تب ہی ان کے جوابات ملیں گے۔ سوال سے پہلے جواب کی کوئی اہمیت نہیں ہے۔ میرے لیکچرز آپ کے سوالات کے جوابات ہیں۔ تو پہلے میں آپ کو عملی کام دیتا ہوں جو آپ کے موجودہ علم سے حل کرنا مشکل ہے۔ یہ کام سوالات اٹھاتے ہیں اور پھر آپ کو میرے جوابات موصول ہوتے ہیں جو علم اور لیکچر ہوتے ہیں۔ میں آپ کے سامنے تین مراحل میں نیا علم پیش کرتا ہوں:
  1. تعارف (کم سے کم تھیوری اور چند عملی کام)

  2. پرنسپل بلاک علم (آپ کو موضوع کو پوری طرح سمجھنا چاہئے)

  3. تفصیلات اور باریکیاں (میں یہاں خلا کو پر کرتا ہوں)

اس طرح آپ کو کم از کم تین بار ایک ہی موضوع مل جائے گا۔ اور یہ بات بھی قابل ذکر نہیں ہے کہ ہر چیز کا آپس میں بہت زیادہ تعلق ہے اور کسی ایک موضوع کو اس سے پہلے بیان کیے بغیر، کم از کم جزوی طور پر اس کی مکمل وضاحت کرنا ناممکن ہے۔ کچھ طلباء یہاں تک کہ ناراضگی کا اظہار کرتے ہیں کہ کچھ کام بہت مشکل ہیں، کہتے ہیں کہ انہوں نے ابھی تک اس کا مطالعہ نہیں کیا ہے۔ اس طرح کے کام سوچ کے لیے ایک وقفہ پیش کرتے ہیں: آپ اپنے علم کی موجودہ سطح کا استعمال کرتے ہوئے انہیں کیسے حل کرتے ہیں؟ آپ ان کاموں کو حل کرنے میں ایک یا دو گھنٹے لگا سکتے ہیں، لیکن بعد میں آپ کو ایک نیا اصل طریقہ یا خوبصورت حل ڈھونڈ کر بہت خوشی ہوگی۔ درحقیقت، حقیقی زندگی میں آپ کو پہلے کام پر ایک کام دیا جائے گا، اور بعد میں ہی آپ کو اسے حل کرنے کا علم ملے گا۔ یہ حقیقی زندگی ہے، بچوں. اس طرح، جتنی جلدی آپ اس طرز عمل کی عادت ڈالیں گے، اتنا ہی بہتر ہے۔

لیول 5

اولڈ لیول 05 - 3

1 ایلی کلاسز کے بارے میں بات کرتی ہے۔

- ارے، امیگو! - ہیلو، ایلی! - آج میں آپ کو سمجھانا چاہتا ہوں کہ کلاسز کیا ہیں۔ - وضاحت # 1۔ میں ایک تشبیہ کے ساتھ شروع کروں گا۔ ہماری کائنات کی تمام چیزیں ایٹموں سے بنی ہیں۔ وہ مختلف قسم کے ہو سکتے ہیں: ہائیڈروجن، آکسیجن، آئرن، یورینیم،... ایٹموں کو ملانا مختلف چیزوں یا اشیاء کو بنانے کے قابل بناتا ہے۔ - جاوا کی کائنات کا بھی یہی حال ہے۔ یہاں پروگرام مختلف اقسام کی اشیاء پر مشتمل ہیں (جہاں کلاس ایک قسم ہے): انٹیجر، سٹرنگ، فائل، آبجیکٹ، … اشیاء کو ملانا مختلف ویب سروسز یا پروگرام بنانے کے قابل بناتا ہے۔ - مختلف ایٹموں کی اندرونی ساخت مختلف ہوتی ہے۔ ان میں متعدد الیکٹران، پروٹان اور نیوٹران ہوتے ہیں۔ - مختلف کلاسز (جاوا میں آبجیکٹ کی اقسام) کی اندرونی ساخت بھی مختلف ہوتی ہے۔ وہ مختلف متغیرات اور طریقوں پر مشتمل ہیں۔ - جی ہاں، مجھے ایٹم کی ساخت کا عمومی خیال ہے۔ میں ایک روبوٹ ہوں، ہے نا؟ - آئیے پروگرام کو مجموعی طور پر دیکھتے ہیں: اشیاء عمارت کے بلاکس کی طرح ہیں جو پروگرام بناتے ہیں۔ کلاسیں ان بلاکس کی اقسام ہیں۔ مختلف اقسام کے بلاکس مختلف طبقات کی اشیاء ہیں۔ - مجھے ایک طرح سے مل گیا۔ وضاحت # 2۔ جب ہمیں کسی نئی قسم کی چیز کی ضرورت ہوتی ہے تو ہم ایک نئی کلاس بناتے ہیں۔ اس کلاس کے اندر ہم اشیاء کے مطلوبہ رویے کو بیان کرتے ہیں۔ - ٹھیک ہے، میں کچھ سمجھ گیا ہوں، لیکن مجھے اس کا یقین نہیں ہے۔ - اندرونی ساخت پر غور کرتے ہوئے، کلاس کلاس طریقوں پر مشتمل ہوتی ہے جو کچھ کرتے ہیں اور کلاس متغیرات پر مشتمل ہوتا ہے جہاں طریقے مشترکہ ڈیٹا کو محفوظ کرتے ہیں۔ - بس کہا، کلاس طریقوں کا ایک سیٹ ہے؟ - بہت زیادہ، خاص طور پر، کلاس طریقوں کا ایک گروپ ہے جو ایک ساتھ کام کرتا ہے اور متغیرات جس میں طریقے اشتراک کرنے کے لیے مختلف اقدار کو محفوظ کرتے ہیں۔ - ہاں. ایک نئی کلاس بنانے کے لیے، ہمیں یہ طریقے لکھنے کی ضرورت ہے … - ہاں۔ ہمیں یہ بھی طے کرنے کی ضرورت ہے کہ مختلف طریقوں سے کون سے متغیرات کا اشتراک کیا گیا ہے، اور پھر متغیرات کو ایک طریقہ سے کلاس میں لے جائیں: طریقہ متغیر کو کلاس متغیرات میں تبدیل کریں۔ - کلاسز مندرجہ ذیل طرز پر بنائے گئے ہیں: 1 پروگرامر فیصلہ کرتا ہے کہ اسے کن چیزوں کی ضرورت ہے۔ 2 پروگرامر ان اشیاء کو مختلف اقسام میں تقسیم کرتا ہے اس پر منحصر ہے کہ وہ کیا کرتے ہیں۔ 3 پروگرامر ہر قسم کے لیے الگ کلاس لکھتا ہے۔ 4 کلاس میں، وہ ضروری طریقوں اور متغیرات کا اعلان کرتا ہے۔ 5 کمانڈز کو ہر طریقہ میں لکھنا پڑتا ہے تاکہ طریقہ وہی کرتا ہے جو پروگرامر کرنا چاہتا ہے۔ 6 کلاس تیار ہے، اب آپ اس کی اشیاء بنا سکتے ہیں۔ - خوفناک! یہ ایک دلچسپ سکیم ہے۔ میں اسے یاد رکھوں گا۔ - آپ کو اسے حفظ کرنا ہوگا، یہ کام میں آئے گا۔ پروگرامنگ اپروچ، جس میں پروگرام کو اشیاء میں تقسیم کیا جاتا ہے، اسے آبجیکٹ اورینٹڈ پروگرامنگ کہا جاتا ہے۔( او او پی ) - جاوا OOP اپروچ کی ایک بہترین مثال ہے، کیونکہ جاوا میں ہر چیز آبجیکٹ ہے۔ - جاوا سیکھنا دو بڑے کاموں پر مشتمل ہے: اپنی کلاسیں لکھنا سیکھنا اور دوسرے لوگوں کی کلاسوں کو استعمال کرنا سیکھنا ۔ آج ہم سب سے آسان چیزوں سے شروع کرتے ہیں۔ آپ سادہ کلاسیں لکھنا سیکھیں گے اور یقیناً ان کی اشیاء بنائیں گے۔ اشیاء کو اکثر کلاسز کی مثالیں کہا جاتا ہے۔ یہ مترادفات ہیں، دونوں طرح سے درست ہے۔ - یہ مل گیا. - خلاصہ کرنے کے لئے میں کہہ سکتا ہوں کہ کلاس ایک منی پروگرام ہے: ڈیٹا اور افعال کا ایک سیٹ جو اس ڈیٹا کے ساتھ کچھ کرتے ہیں۔ کلاسز کی ایک اہم خصوصیت ان کلاسز (آبجیکٹ) کی مثالیں بنانے کی صلاحیت ہے۔ - کلاس آبجیکٹ بنانے کے لیے، آپ کو کوڈ میں لکھنا ہوگا «new class_name()» ۔ اولڈ لیول 05 - 4- کلاس آبجیکٹ میں دو دلچسپ خصوصیات ہیں: - پہلی۔ ہر کلاس آبجیکٹ کلاس متغیرات کی اپنی کاپی اسٹور کرتا ہے۔ لہذا، اگر کلاس میں متغیرات x، y کا اعلان کیا جاتا ہے اور اس کلاس کے 10 آبجیکٹ بنائے جاتے ہیں، تو ہر آبجیکٹ کے اپنے متغیر ہوتے ہیں۔ کسی چیز کے متغیرات کو تبدیل کرنے سے دوسری چیز کے متغیرات پر کوئی اثر نہیں پڑتا ہے۔ - دوسرا. جب کوئی نئی چیز بنائی جاتی ہے تو اس میں مختلف پیرامیٹرز پاس کیے جا سکتے ہیں۔ یہ نام نہاد "اسٹارٹ اپ اقدار" ہیں۔ یہ تقریباً پیدائش کے وقت نام دینے جیسا ہے۔ اس طرح کے پیرامیٹرز کو پاس کیے بغیر بہت سی اشیاء تخلیق نہیں کی جا سکتیں۔ - مجھے تھوڑی سی سمجھ آئی. اور آپ نے کلاس متغیرات کے بارے میں کیا کہا؟ - ہر چیز کے پاس ڈیٹا کی کاپی ہوتی ہے (کلاس متغیرات)۔ اولڈ لیول 05 - 5

2 ریشا پیکجز کے بارے میں بات کرتی ہے۔

- ارے، امیگو! اب میں آپ کو پیکجز کے بارے میں بتاتا ہوں۔ - کمپیوٹر میں فائلوں کو فولڈرز میں گروپ کیا جاتا ہے۔ جاوا میں کلاسز (ہر کلاس ایک الگ فائل میں ہے) کو پیکجوں کے ذریعے گروپ کیا جاتا ہے جو ڈسک پر فولڈر ہوتے ہیں۔ یہ کوئی نئی بات نہیں ہے۔ لیکن دو ریمارکس ہیں۔ - سب سے پہلے ، «ایک منفرد مکمل کلاس کا نام» ہے «پیکیج کا نام» + «کلاس کا نام» ۔ مثالیں: پرانا درجہ 05 - 6- مکمل کلاس کا نام ہمیشہ منفرد ہوتا ہے! - لمبا نام لکھنا بہت مشکل ہے، جیسے java.util.ArrayList ، ہر بار۔ لہذا، اپنے کوڈ میں آپ دوسری کلاسوں کے مختصر نام استعمال کر سکتے ہیں۔ لیکن اس کے لیے آپ کو کچھ جادو استعمال کرنے کی ضرورت ہے۔ - کیا جادو؟ - آپ بیان استعمال کر سکتے ہیں «java.util.ArrayList درآمد کریں؛» - کلاس کے آغاز میں، پیکج کے اعلان کے فوراً بعد، آپ کو اپنے کوڈ میں استعمال ہونے والی ArrayList کلاس کا پورا نام بتانا ہوگا۔ فرض کریں کہ آپ اپنے کوڈ میں java.util.ArrayList، sun.generic.ArrayList اور com.oracle.ArrayList کلاسز استعمال کرتے ہیں۔ آپ درآمدات میں ان میں سے ایک کی وضاحت کر سکتے ہیں (جیسے sun.generic.ArrayList؛) اور اس کا مختصر نام استعمال کریں۔ یہ صرف ایک طبقے سے متعلق ہے۔ - یہ اتنا پیچیدہ کیوں ہے؟ کیا ایک جیسے ناموں والی کلاسیں ہو سکتی ہیں؟ - جی ہاں، مختلف پیکجوں میں ایک ہی نام کی کلاسز ہو سکتی ہیں۔ لیکن ہم اپنی کلاس میں ایک ہی نام کے ساتھ دو کلاسز امپورٹ نہیں کر سکتے ، اس لیے ہمیں ان میں سے ایک پر پورا نام لگانا ہوگا۔ - یہاں ایک اور مشابہت ہے۔ آپ کی ٹیم میں بل ہے اور کمیونیکیشن میں کوئی مسئلہ نہیں ہے، کیونکہ ہر کوئی جانتا ہے کہ یہ کون ہے۔ لیکن اگر تین بل تھے، تو آپ کو ان کے درمیان فرق کرنے کے لیے ان کے مکمل منفرد نام استعمال کرنے ہوں گے۔ - دوسرا ، کلاسز کو پیکجوں میں ڈالنا بہتر ہے نہ کہ src روٹ فولڈر میں ۔ جب کم کلاسیں ہوں تو کوئی مسئلہ نہیں ہے، لیکن جب ان میں سے بہت سی کلاسیں ہوں تو الجھن میں پڑنا بہت آسان ہے۔ لہذا، ہمیشہ صرف پیکجوں میں کلاسز بنائیں۔ جاوا میں اصول کلاسز اور پیکجوں کو خود وضاحتی نام دینا ہے۔ بہت سی کمپنیاں اپنی لائبریریاں (کلاس سیٹ) تیار کرتی ہیں اور الجھن سے بچنے کے لیے ان کلاسز کے نام کمپنی/ویب سائٹ کے بعد: پرانا درجہ 05 - 7

3 کم ویڈیو ٹیوٹوریلز دکھائیں۔

- ارے، امیگو! یہاں چند ویڈیو ٹیوٹوریلز ہیں، کلاسز اور پیکجز کیسے بنائیں:
- ہم پہلے ہی کر چکے ہیں! - آپ اسے اپنی روبوٹ زندگی میں ہزار بار کریں گے۔ تو اس کی عادت ڈالیں۔ اور اب، آپ کو مشق کرنے کی ضرورت ہے! جاوا کلاسز بنانا پیکجز بنانا

4 ایلی، اشیاء کی تخلیق، آبجیکٹ کے حوالے

- تو، ہم نے پچھلی بار کلاسز سیکھی ہیں۔ آج میں آپ کو بتانا چاہوں گا کہ اشیاء کیسے بنائیں۔ یہ بہت آسان ہے: کلیدی لفظ نیا اور کلاس کا نام لکھیں جس چیز کو ہم بنانا چاہتے ہیں: اولڈ لیول 05 - 8- لیکن میں نے اسے پہلے سنا ہے۔ - میں جانتا ہوں، لیکن براہ مہربانی سنو. - جب کوئی نئی چیز بنائی جاتی ہے تو منحنی خطوط وحدانی میں مختلف پیرامیٹرز کو پاس کیا جا سکتا ہے۔ میں آج تھوڑی دیر بعد اس کی وضاحت کروں گا۔ آئیے کیٹ کلاس پر غور کریں: پرانا درجہ 05 - 9- یہ حاصل کرنے والے اور سیٹرز کیا ہیں ؟ - دوسری کلاسوں سے قابل رسائی متغیر جاوا میں عام رواج ہے۔ عام طور پر، کلاس کے اندر اعلان کردہ متغیرات میں modifier private ہوتا ہے ۔ - نجی متغیر تک رسائی دینے کے لیے، آپ کو دو طریقے بنانے چاہئیں: get اور set ۔ حاصل کرنے کے طریقہ کار کا مقصد متغیر کی موجودہ قدر کو واپس کرنا ہے جس نے اسے بلایا ہے۔ میتھڈ سیٹ کا مقصد ایک نئی ویلیو سیٹ کرنا ہے۔ - اور کیا بات ہے؟ - اگر ہم نہیں چاہتے ہیں کہ کوئی ہمارے آبجیکٹ متغیر کی قدروں کو تبدیل کرے، تو ہم صرف کوئی طریقہ نہیں لکھ سکتے ہیں ، یا اسے نجی بنا سکتے ہیں ۔ آپ اس طریقہ میں اضافی ڈیٹا چیک بھی شامل کر سکتے ہیں۔ اگر نئی پاس کردہ قدر غلط ہے، تو کچھ بھی تبدیل نہ کریں۔ - یہ دلچسپ ہے. - چونکہ کلاس میں بہت سارے متغیر ہوسکتے ہیں، اس لیے حاصل کرنے اور سیٹ کرنے کے طریقوں کے ناموں میں عام طور پر اس متغیر کا نام شامل ہوتا ہے جس کے ساتھ وہ کام کرتے ہیں۔ - اگر کسی متغیر کا نام fullName ہے تو طریقوں کا نام getFullName اور setFullName ہونا چاہیے ۔ اور اسی طرح اس کی طرح۔ - یہ مل گیا! مجموعی طور پر یہ ایک قابل فہم طریقہ ہے۔ - یہاں کچھ مثالیں ہیں کہ ایک نئی تخلیق شدہ چیز کے ساتھ کیسے کام کیا جائے: پرانا درجہ 05 - 10

5 ڈیاگو، اپنی کلاسز اور اشیاء کی تخلیق کے لیے کام

- ارے، امیگو! یہاں کلاسز اور اشیاء بنانے کے لیے کچھ کام ہیں:
کام
1 کلاس بلی بنائیں
کلاس بلی بنائیں۔ بلی کا نام (نام، سٹرنگ)، عمر (عمر، انٹ)، وزن (وزن، انٹ) اور طاقت (طاقت، انٹ) ہونا ضروری ہے۔
2 طریقہ کار کی لڑائی کو لاگو
کریں بولین فائٹ (Cat otherCat): بلیوں کے وزن، عمر اور طاقت کے لحاظ سے لڑائی کا طریقہ کار نافذ کریں۔ خود سے انحصار بنائیں۔ طریقہ کار کو اس بات کا تعین کرنا چاہیے کہ آیا موجودہ بلی (جس چیز کی لڑائی کا طریقہ کہا گیا تھا) یا دوسری بلی نے جنگ جیتی، یعنی اگر موجودہ بلی جیت گئی تو سچی واپسی اور غلط، اگر وہ نہیں جیتی۔ مندرجہ ذیل شرط کو پورا کرنا ضروری ہے:
if cat1.fight(cat2) == true, then cat2.fight(cat1) == false
3 کلاس ڈاگ کے لیے حاصل کرنے والے اور سیٹرز <
ایک کلاس ڈاگ بنائیں۔ کتے کا ایک نام ہونا ضروری ہے - سٹرنگ کا نام اور عمر - int age۔
ڈاگ کلاس کے تمام متغیرات کے لیے گیٹرز اور سیٹرز بنائیں۔
4 C کیٹ کی قسم کے تین آبجیکٹس کو دوبارہ کریں
میتھڈ مین میں کیٹ کی قسم کے تین آبجیکٹ بنائیں اور انہیں ڈیٹا سے بھریں۔
پہلے کام کی کلاس بلی کا استعمال کریں۔ کلاس کیٹ نہ بنائیں۔
5 بلیوں کے درمیان تین دو دو لڑائیوں کو پکڑو
کلاس کیٹ کا استعمال کرتے ہوئے تین بلیاں بنائیں۔
بلیوں کے درمیان تین جوڑے کی لڑائی کرو۔
کلاس کیٹ نہ بنائیں۔ لڑائی کے لیے بولین فائٹ (Cat anotherCat) کا طریقہ استعمال کریں۔
ہر لڑائی کا نتیجہ دکھائیں۔

6 ریشا کسی چیز کی ابتدا کے بارے میں بات کرتی ہے۔

- میں آپ کو آبجیکٹ کی ابتدا کے بارے میں بتانا چاہتا ہوں۔ جب کوئی آبجیکٹ بنتا ہے، تو اس کے متغیرات کو اسٹارٹ اپ ڈیٹا تفویض کرنا ضروری ہوتا ہے ، تاکہ ایسی صورتحال سے بچا جا سکے جب آپ کسی آبجیکٹ تک رسائی حاصل کرنے کی کوشش کرتے ہیں، اور اس میں صحیح طریقے سے کام کرنے کے لیے کوئی ڈیٹا درکار نہیں ہوتا ہے۔ - آئیے فائل ٹائپ کی ایک چیز پر غور کریں۔ فائل کے لیے کم از کم ضروری معلومات اس کا نام ہے۔ نام کے بغیر فائل ایک بکواس ہے۔ - فرض کریں کہ آپ فائلوں کے ساتھ کام کرنے کے لیے فائل کلاس (مثال کے طور پر MyFileClass) کا اپنا ورژن لکھ رہے ہیں۔ اس کلاس کی ہر چیز کے لیے کونسی معلومات درکار ہیں؟ - اس فائل کا نام جس کے ساتھ یہ اعتراض کام کرے گا؟ - یہ ٹھیک ہے. اسی لیے ہم اپنی کلاس میں طریقہ start() شامل کرتے ہیں۔ یہ اس طرح نظر آئے گا: - کسی چیز کے ساتھ کام کرنے کے قابل ہونے کے لیے اولڈ لیول 05 - 11ہم نے طریقہ ابتدائیہ شامل کیا ہے - اس کے طریقوں کو کال کریں۔ یہ طریقہ شروع کرنے کے فوراً بعد کیا جا سکتا ہے۔ اگر آپ کسی چیز کے ساتھ کام نہیں کر سکتے ہیں، تو اسے invalid کہا جاتا ہے ، ورنہ یہ درست ہے ۔ طریقہ کار شروع کرنے کا بنیادی مقصد - اسے درست بنانے کے لیے تمام ضروری ڈیٹا کو آبجیکٹ کو منتقل کرنا ہے۔ - یہ مل گیا! - اب کام کو پیچیدہ کرتے ہیں۔ یا اس کے بجائے آسان بنائیں۔ اس پر منحصر ہے کہ آپ اسے کس طرح دیکھتے ہیں۔ تصور کریں کہ کسی دوسرے پروگرامر کے لیے جو ہماری کلاس استعمال کرے گا اس کے لیے مکمل فائل کا نام نہیں بلکہ ایک ڈائرکٹری اور ایک مختصر فائل کا نام پاس کرنا آسان ہے۔ ہم اس فعالیت کو ایک اور طریقہ شروع کر کے لاگو کر سکتے ہیں ( جاوا ایک جیسے ناموں کے ساتھ متعدد طریقے بنانے کے قابل بناتا ہے )۔ پھر ہماری کلاس اس طرح نظر آئے گی: اولڈ لیول 05 - 12- مزید یہ کہ موجودہ فائل کے آگے ایک عارضی فائل کاپی بنانا اکثر ضروری ہوتا ہے۔ - کیا ہم اس کیس کے لیے کوئی طریقہ بنا سکتے ہیں؟ - ضرور، اس پر ایک نظر ڈالیں: اولڈ لیول 05 - 13- تو، میں ان طریقوں میں سے جتنے چاہوں بنا سکتا ہوں؟ - وجہ کے اندر، کورس کے. لیکن، اصل میں، جتنے بھی آپ چاہیں۔ - اور طریقہ کو شروع کرنا کب ضروری ہے؟ - آبجیکٹ بننے کے فوراً بعد، اسے درست میں تبدیل کرنے کے لیے: اولڈ لیول 05 - 14- اور یہ کیا طریقہ ہے getFolder()؟ - آپ اس کے نام سے دیکھ سکتے ہیں کہ یہ طریقہ اس فولڈر کے نام پر مشتمل سٹرنگ کو واپس کرنا ہے جہاں ہماری فائل واقع ہے۔ لیکن ہم نے یہاں اس کا نفاذ نہیں لکھا، یہ صرف دکھاوے کے لیے ہے۔

7 ڈیاگو، آبجیکٹ شروع کرنے کے کام

- ارے، امیگو! میں اپنے اسباق کے بغیر بور ہوں۔ یہاں کچھ آبجیکٹ شروع کرنے کے کام ہیں:
کام
1 کلاس فرینڈ بنائیں
تین انیشیلائزرز کے ساتھ کلاس فرینڈ بنائیں (تین طریقے شروع کریں):
- نام
- نام، عمر
- نام، عمر، جنس
2 کلاس بلی بنائیں
پانچ ابتدائیوں کے ساتھ ایک کلاس بلی بنائیں:
- نام
- نام، وزن، عمر
- نام، عمر (معیاری وزن)
- وزن، رنگ، (نام، پتہ اور عمر نامعلوم ہے، یہ ایک گلی بلی ہے)
- وزن، رنگ، پتہ (یہ کسی اور کے گھر کی بلی ہے)
شروع کرنے والے کا کام کسی چیز کو درست بنانا ہے۔ مثال کے طور پر، اگر وزن نامعلوم ہے، تو آپ کو کچھ اوسط وزن بتانے کی ضرورت ہے۔ بلی کا وزن بالکل نہیں ہو سکتا، اسی طرح عمر بھی۔ لیکن اس کا کوئی نام (نال) نہیں ہو سکتا۔ اسی ایڈریس پر لاگو ہوتا ہے - null ہو سکتا ہے.
3 ایک کلاس ڈاگ بنائیں
تین ابتدائیوں کے ساتھ ایک کلاس ڈاگ بنائیں:
- نام
- نام، اونچائی
- نام، اونچائی، رنگ
4 ایک کلاس سرکل بنائیں
تین انیشیلائزرز کے ساتھ ایک کلاس سرکل بنائیں:
- centerX, centerY, radius
- centerX, centerY, radius, width
- centerX, centerY, radius, width, color
5 کلاس مستطیل بنائیں
ایک کلاس مستطیل بنائیں۔ اس کا ڈیٹا اوپر، بائیں، چوڑائی اور اونچائی کا ہوگا۔ اس کے لیے زیادہ سے زیادہ ابتدائی (...) طریقے لکھیں مثالیں

:
- 4 پیرامیٹرز سیٹ کیے جائیں: بائیں، اوپر، چوڑائی، اونچائی
- چوڑائی/اونچائی سیٹ نہیں کی گئی ہے (دونوں برابر 0)
- اونچائی سیٹ نہیں کی گئی ہے (کے برابر) چوڑائی)، ایک مربع بنائیں
- ایک اور مستطیل کی ایک کاپی بنائیں (یہ پیرامیٹرز میں گزر گیا ہے)

8 ایلی کنسٹرکٹرز کے بارے میں بات کرتی ہے۔

- یہ آپ کو کنسٹرکٹرز کے بارے میں بتانے کا وقت ہے۔ یہ بہت آسان ہے: پروگرامرز نے آبجیکٹ کی تخلیق اور ابتداء کے لیے ایک شارٹ ہینڈ اشارے ایجاد کیے: پرانا درجہ 05 - 15- لیکن میں نے ابھی ان ابتداء کو سمجھا ہے... - پریشان نہ ہوں۔ قریب سے دیکھیں. کنسٹرکٹرز کا استعمال زیادہ آسان اور جگہ کی بچت ہے۔ - جی ہاں، یہ بہت بہتر لگ رہا ہے. لیکن ایک سوال ہے: میں جانتا ہوں کہ کلاس میں ابتدائی طریقہ کیسے لکھنا ہے، لیکن میں کلاس کے اندر کنسٹرکٹر کیسے لکھوں؟ - سب سے پہلے، ایک سادہ مثال دیکھیں: اولڈ لیول 05 - 16- کلاس میں کنسٹرکٹر کا اعلان کرنا بہت آسان ہے۔ کنسٹرکٹر ابتدائی طریقہ کی طرح ہے، لیکن دو اختلافات ہیں:
  • کنسٹرکٹر کے طریقہ کار کا نام کلاس کے نام جیسا ہی ہے (بجائے startize
  • کنسٹرکٹر کے طریقہ کار میں واپسی کی کوئی قسم نہیں ہے (کسی قسم کی بالکل بھی وضاحت نہیں کی گئی ہے)۔
- اصل میں، یہ ایک ہی طریقہ ہے ابتداء، لیکن چند اختلافات کے ساتھ. مجھے ایک طرح سے مل گیا۔

9 ڈیاگو، کنسٹرکٹر کے کام

- آپ نے کچھ آرام کیا ہے، میرا اندازہ ہے۔ ٹھیک. یہاں کچھ کنسٹرکٹر تخلیق کے کام ہیں:
کام
1 کلاس فرینڈ بنائیں
تین کنسٹرکٹرز کے ساتھ کلاس فرینڈ بنائیں:
- نام
- نام، عمر
- نام، عمر، جنس
2 کلاس بلی بنائیں
پانچ کنسٹرکٹرز کے ساتھ کلاس بلی بنائیں:
- نام،
- نام، وزن، عمر
- نام، عمر (معیاری وزن)
- وزن، رنگ، (نام، پتہ اور عمر نامعلوم ہے۔ یہ ایک گلی بلی ہے)
- وزن، رنگ، پتہ (یہ کسی اور کے گھر کی بلی ہے)
شروع کرنے والے کا کام کسی چیز کو درست بنانا ہے۔ مثال کے طور پر، اگر وزن نامعلوم ہے، تو آپ کو کچھ اوسط وزن بتانے کی ضرورت ہے۔ بلی کا وزن بالکل نہیں ہو سکتا، اسی طرح عمر بھی۔ لیکن اس کا کوئی نام (نال) نہیں ہو سکتا۔ اسی ایڈریس پر لاگو ہوتا ہے - null ہو سکتا ہے.
3 ایک کلاس ڈاگ بنائیں
تین کنسٹرکٹرز کے ساتھ کلاس ڈاگ بنائیں:
- نام
- نام، اونچائی
- نام، اونچائی، رنگ
4 ایک کلاس سرکل بنائیں
تین کنسٹرکٹرز کے ساتھ ایک کلاس سرکل بنائیں:
- centerX, centerY, radius
- centerX, centerY, radius, width
- centerX, centerY, radius, width, color
5 کلاس مستطیل بنائیں
ایک کلاس مستطیل بنائیں۔ اس کا ڈیٹا اوپر، بائیں، چوڑائی اور اونچائی کا ہوگا۔ اس کے لیے زیادہ سے زیادہ کنسٹرکٹرز بنائیں:

مثالیں:
- 4 پیرامیٹرز سیٹ ہیں: بائیں، اوپر، چوڑائی، اونچائی
- چوڑائی/اونچائی سیٹ نہیں ہے (دونوں برابر 0)
- اونچائی سیٹ نہیں کی گئی ہے (چوڑائی کے برابر)، ایک مربع بنائیں
- ایک اور مستطیل کی ایک کاپی بنائیں (یہ پیرامیٹرز میں گزر گیا ہے)

10 پروفیسر، کلاسز اور کنسٹرکٹر

- یہ میں ہوں دوبارہ. ہمارے لیکچر بہت اچھے ہوتے ہیں۔ میں آپ کو بورنگ لیکچرز کے لنک نہیں دوں گا۔ یہاں بہترین چیزوں کا لنک ہے! - یہاں اب بھی تم ہو؟ جلدی جاؤ، پڑھو، اور مجھے لیب جانا ہے۔ CodeGym لیکچر 5 بحث

11 جولیو

- ارے، امیگو! میں تھوڑا تھک گیا ہوں۔ آئیے تھوڑا آرام کریں، اور پھر سبق شروع کریں۔ مجھے ایک نیا ایپی سوڈ ملا ہے:

12 جان گلہری

- ہیلو، فوجی! - صبح بخیر صاحب! - میرے پاس آپ کے لیے کچھ اچھی خبریں ہیں۔ آپ کی صلاحیتوں کو تقویت دینے کے لیے یہاں کام ہیں۔ اسے ہر روز کریں، اور آپ اپنی صلاحیتوں میں تیزی سے اضافہ کریں گے۔ کام خاص طور پر Intellij IDEA میں کرنے کے لیے بنائے گئے ہیں۔
Intellij Idea میں کرنے کے لیے اضافی کام
1 1. تین کلاسز
1. کلاس بطخ کے ساتھ مشابہت کے ساتھ بلی اور کتے کی کلاس بنائیں۔
2. اس بارے میں سوچیں کہ Cat and Dog کی کلاسز میں toString کا طریقہ کیا واپس آنا چاہیے۔
3. طریقہ مین میں ہر کلاس میں دو آبجیکٹ بنائیں اور انہیں ڈسپلے کریں۔
4. بتھ کلاس کی اشیاء تخلیق اور ڈسپلے کر رہے ہیں۔
2 مرد اور عورت
1. کلاس حل کے اندر عوامی جامد کلاسیں مرد اور عورت بنائیں۔
2. کلاسز میں فیلڈز ہونی چاہئیں: نام (اسٹرنگ)، عمر (انٹ)، ایڈریس (اسٹرنگ)۔
3. تمام ممکنہ پیرامیٹرز کو منتقل کرنے کے لیے کنسٹرکٹرز بنائیں۔
4. تمام ڈیٹا کے ساتھ ہر کلاس کے دو آبجیکٹ بنانے کے لیے کنسٹرکٹر کا استعمال کریں۔
5. اشیاء کو فارمیٹ میں ڈسپلے کریں [نام + "" + عمر + "" + پتہ]۔
3 3. کتے اور بلی کی عوامی جامد کلاسیں بنائیں۔
اپنے اختیار پر ہر کلاس میں تین فیلڈز شامل کریں۔
ٹام اور جیری کے کارٹون کرداروں کے لیے اشیاء بنائیں، جتنا آپ کو یاد ہے۔

مثال:
ماؤس جیری ماؤس = نیا ماؤس ("جیری"، 12 (اونچائی، سینٹی میٹر)، 5 (دم کی لمبائی، سینٹی میٹر))
4 4. موجودہ تاریخ
دکھائیں اسکرین پر موجودہ تاریخ کو "21 02 2014" کی طرح کی شکل میں دکھائیں۔
5 5. کی بورڈ سے نمبر پڑھیں اور ان کی کل
تعداد کا حساب لگائیں کی بورڈ سے پڑھیں اور ان کے کل کا حساب لگائیں جب تک کہ صارف لفظ «کل» داخل نہ کرے۔ اسکرین پر کل ڈسپلے کریں۔
- وہ کام سبزیوں کے لیے تھے۔ میں نے اعلی پیچیدگی کے بونس کاموں کو شامل کیا۔ صرف ٹاپ گنز کے لیے۔
بونس کے کام
1 1. پروگرام مرتب اور نہیں چلتا ہے۔ اسے ٹھیک کریں۔
ٹاسک: پروگرام کو کی بورڈ سے دو نمبروں کو پڑھنا چاہیے اور ان کا کل ڈسپلے کرنا چاہیے۔
2 2. پروگرام میں نئی ​​فعالیت شامل کریں۔
پرانا ٹاسک: ایک نیا فنکشن شامل کریں جو کی بورڈ سے دو نمبر پڑھتا ہے اور ان کی کم از کم ڈسپلے کرتا ہے۔
نیا کام: ایک نیا فنکشن شامل کریں جو کی بورڈ سے پانچ نمبر پڑھتا ہے اور ان کی کم از کم ڈسپلے کرتا ہے۔
3 3. الگورتھم سیکھنا اور اس پر عمل کرنا۔
ٹاسک: ایک پروگرام لکھیں جو
1. کنسول نمبر N سے پڑھتا ہے جو صفر
2 سے زیادہ ہوتا ہے۔ پھر کنسول
3 سے N نمبر پڑھتا ہے۔ زیادہ سے زیادہ درج کیے گئے N نمبر دکھاتا ہے۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION