اینڈروئیڈ پارٹ 2 کے لئے سی # سیکھیں: کلاسز اور لوپس

مصنف: John Stephens
تخلیق کی تاریخ: 24 جنوری 2021
تازہ کاری کی تاریخ: 1 جولائی 2024
Anonim
C زبان کا تعارف - حصہ 2 | سی لینگویج ٹیوٹوریل | مسٹر سری نواس کے ذریعہ
ویڈیو: C زبان کا تعارف - حصہ 2 | سی لینگویج ٹیوٹوریل | مسٹر سری نواس کے ذریعہ

مواد


سیکھنے سے متعلق اس اینڈروئیڈ ٹیوٹوریل سیریز کے ایک حصے میں ، ہم نے سی # پروگرامنگ کی مطلق بنیادی باتوں پر غور کیا۔ ہم نے طریقوں (مخصوص کوڈ کے انجام دینے والے کوڈ کے گروپ) ، کچھ بنیادی نحو (جیسے نیم کالون کی ضرورت) ، متغیر (کنٹینر جو اعداد و شمار کو محفوظ کرتے ہیں) ، اور بہاؤ کنٹرول کے لئے "اگر بیانات" (اقدار پر منحصر شاخوں کا کوڈ) کا احاطہ کیا۔ متغیر کی). ہم نے یہ بھی دیکھا کہ طریقوں کے مابین دلائل کے طور پر تاروں جیسے تغیرات کو کیسے منتقل کیا جائے۔

آپ کو واپس جانا چاہئے اور اس پر ایک نظر ڈالنا چاہئے اگر آپ نے اسے پہلے سے نہیں پڑھا ہے۔

اس مقام پر ، آپ کو کچھ بنیادی کنسول ایپس بنانے کے قابل ہونا چاہئے ، جیسے کوئز ، ایپس جو ڈیٹا محفوظ کرتے ہیں ، یا کیلکولیٹر۔

دوسرے حصے میں ، ہم کچھ اور ہی زیادہ خواہش مند بننے جارہے ہیں ، جس میں کچھ اور بنیادی باتیں جیسے چھل --وں کا احاطہ کیا گیا ہے۔ اس کا مطلب ہے کہ ہم اینڈروئیڈ ڈویلپمنٹ پر چھرا اٹھانا شروع کریں گے اور اس خلا کو کیسے ختم کریں گے یہ دیکھیں گے۔ اگر آپ واقعی C # سیکھنا چاہتے ہیں تو پڑھنا جاری رکھیں!


کلاسز اور آبجیکٹ اورینٹڈ پروگرامنگ کو سمجھنا

ایک حصriefہ میں ، ہم نے آبجیکٹ اورینٹڈ پروگرامنگ کی بنیادی باتوں کی وضاحت کی ، جو "آبجیکٹ" کو بیان کرنے کے لئے "کلاس" کا استعمال کرتے ہوئے زبانوں کے گرد گھومتی ہے۔ کوئی شے اعداد و شمار کا ایک ٹکڑا ہے ، جو بہت سی چیزوں کی نمائندگی کرسکتا ہے۔ یہ کھیل کی دنیا میں بہار جیسی لغوی چیز ہوسکتی ہے ، یا اس سے کہیں زیادہ خلاصہ ہوسکتا ہے ، جیسے مینیجر جو کھلاڑی کا اسکور سنبھالتا ہو۔

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


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

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

اگر یہ ہےاب بھی تھوڑا سا الجھا ہوا ، اپنے سر کو چاروں طرف لانے کا واحد راستہ خود ایک نئی کلاس بنانا ہے۔

ایک نئی کلاس بنانا

اگر آپ C # سیکھنے جارہے ہیں تو ، آپ کو نئی کلاسیں بنانے کا طریقہ جاننے کی ضرورت ہوگی۔ خوش قسمتی سے ، یہ بہت آسان ہے۔ بس پروجیکٹ مینو آئٹم پر کلک کریں اور پھر "+ کلاس شامل کریں" کو منتخب کریں۔

"C #" منتخب کریں اور اسے "خرگوش" کہیں۔ ہم تصوراتی خرگوش پیدا کرنے کے لئے اس طبقے کو استعمال کرنے جارہے ہیں۔ ایک لمحے میں آپ کا کیا مطلب ہے آپ دیکھیں گے۔

اگر آپ اپنے حل ایکسپلورر کو دائیں طرف چیک کرتے ہیں تو ، آپ کو دیکھیں گے کہ راببٹ سی ایس نامی ایک نئی فائل پروگرام.cs کے بالکل نیچے بنائی گئی ہے۔ اچھا ہوا - یہ جاننے کے لئے ایک انتہائی اہم چیز ہے کہ اگر آپ Android کے لئے C # سیکھنا چاہتے ہیں!

نئی ربیٹ سی ایس فائل میں پہلے جیسے کچھ "بوائلر پلیٹ" کوڈ ہے۔ یہ اب بھی اسی نام کی جگہ سے تعلق رکھتا ہے ، اور اس کی فائل کی طرح ایک ہی نام کی ایک کلاس ہے۔

نام کی جگہ کونسول ایپ 2 {کلاس خرگوش {}

اب ہم اپنے خرگوش کو کچھ پراپرٹیز دینے جارہے ہیں جسے ہم "کنسٹرکٹر" کہتے ہیں۔

کنسٹرکٹر ایک کلاس میں ایک ایسا طریقہ ہے جو آبجیکٹ کو ابتدا کرتا ہے ، جب ہم اسے بنانے سے پہلے اس کی خصوصیات کو واضح کرنے دیتا ہے۔ اس معاملے میں ، ہم جو کچھ کہنے جارہے ہیں وہ یہاں ہے:

نام کی جگہ کونسول ایپ 2 {کلاس خرگوش {عوامی سٹرنگ خرگوش نام؛ عوامی تار تار خرگوش؛ عوامی انٹریٹ خرگوش؛ پبلک انٹ ریبٹ وائٹ؛ عوامی خرگوش (سٹرنگ کا نام ، اسٹرنگ کا رنگ ، انٹ ایج ، انٹ وزن) {خرگوش نام = نام؛ خرگوش کا رنگ = رنگ؛ خرگوش = عمر؛ ربیٹ وائٹ = وزن؛ }}}

اس سے ہمیں مختلف کلاس سے ایک نیا خرگوش پیدا کرنے اور اس کی خصوصیات کی وضاحت کرنے کی سہولت ملتی ہے جیسے ہم کرتے ہیں:

خرگوش خرگوش 1 = نیا خرگوش ("جیف" ، "بھوری" ، 1 ، 1)؛

اب میں سمجھتا ہوں کہ وزن کے بارے میں اعداد و شمار کے ل allow اجازت دینے کے ل probably شاید فلوٹ یا ڈبل ​​ہونا چاہئے تھا ، لیکن آپ کو اندازہ ہو گیا ہے۔ ہم اپنے خرگوش کو قریب قریب پوری تعداد میں لے جانے والے ہیں۔

جب آپ اپنے خرگوش کو لکھتے ہو تو آپ دیکھیں گے ، آپ کو صحیح دلائل پاس کرنے کا اشارہ کیا جائے گا۔ اس طرح ، آپ کی کلاس تقریبا کوڈ کا ایک حصہ بن چکی ہے۔

یقین کریں یا نہیں ، اس کوڈ نے ایک خرگوش پیدا کیا ہے! آپ اپنا خرگوش نہیں دیکھ سکتے کیونکہ ہمارے پاس کوئی گرافکس نہیں ہے ، لیکن وہ وہاں ہے۔

اور اسے ثابت کرنے کے لئے ، اب آپ اس لائن کو استعمال کرسکتے ہیں:

کنسول.روائٹ لائن (ربیٹ 1. ربیٹ نام)؛

اس کے بعد آپ کو اس خرگوش کا نام بتائے گا جو آپ نے ابھی پیدا کیا ہے!

ہم اسی طرح اپنے خرگوش کا وزن بڑھا سکتے ہیں:

ربیٹ 1. ربیٹ ویٹ ++؛ کنسول.روائٹ لائن (ربیٹ 1. ربیٹ نام + "وزن" + ربیٹ 1۔ ربیٹ ویٹ + "کلو")؛

یہاں نوٹ کریں کہ کسی چیز کے اختتام پر "++" شامل کرنے سے اس کی قیمت میں بتدریج اضافہ ہوجائے گا (آپ "ربیٹ وائٹ = ربیٹ ویٹ + 1" بھی لکھ سکتے ہیں)۔

چونکہ ہماری کلاس اپنی مرضی کے مطابق زیادہ سے زیادہ خرگوش بنا سکتی ہے ، لہذا ہم بہت سے مختلف خرگوش بنا سکتے ہیں ، ہر ایک اپنی اپنی خصوصیات کے ساتھ۔

سلوک کو شامل کرنا

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

ایسا کرنے کے ل we ، ہم ایک عوامی طریقہ تیار کریں گے جسے "Eat" کہتے ہیں ، اور اس سے کھانے کی آواز ہوگی ، جبکہ خرگوش کے وزن میں بھی اضافہ ہوتا جا رہا ہے۔

پبلک باطل ایٹ () so کنسول.روائٹ لائن (خرگوش نام + ": گھٹیا گھٹیا!")؛ ربیٹ ویٹ ++؛ }

یاد رکھیں ، "عوامی" کا مطلب کلاس سے باہر سے قابل رسا ہے ، اور "باطل" کا مطلب ہے کہ طریقہ کسی بھی ڈیٹا کو واپس نہیں کرتا ہے۔

اس کے بعد ، پروگرام ڈاٹ سی کے اندر سے ، ہم اس طریقہ کو کال کرسکیں گے اور اس سے ہماری پسند کا خرگوش کھا کر بڑا ہو جائے گا۔

کنسول.روائٹ لائن (ربیٹ 1. ربیٹ نام + "وزن" + ربیٹ 1۔ ربیٹ ویٹ + "کلو")؛ ربیٹ 1. ایٹ ()؛ ربیٹ 1. ایٹ ()؛ ربیٹ 1. ایٹ ()؛ کنسول.روائٹ لائن (ربیٹ 1. ربیٹ نام + "وزن" + ربیٹ 1۔ ربیٹ ویٹ + "کلو")؛

اس سے جیف کو تین بار کھانے کا سبب بنے گا ، پھر ہم اسے سنیں گے اور دیکھ سکیں گے کہ وہ بڑا ہو گیا ہے! اگر ہم منظر پر ایک اور خرگوش رکھتے ، تو وہ بھی کھا سکتے ہیں!

کنسول.روائٹ لائن (ربیٹ 1. ربیٹ نام + "وزن" + ربیٹ 1۔ ربیٹ ویٹ + "کلو")؛ کنسول.روائٹ لائن (خرگوش 2۔ ربیٹ نام + "وزن" + خرگوش 2۔ ربیٹ ویٹ + "کلو")؛ خرگوش 1. ایٹ ()؛ خرگوش 1. ایٹ ()؛ خرگوش 2. ایٹ ()؛ خرگوش 2. ایٹ ()؛ ربیٹ 1. ایٹ ()؛ کنسول.روائٹ لائن (ربیٹ 1. ربیٹ نام + "وزن" + ربیٹ 1۔ ربیٹ ویٹ + "کلو")؛ کنسول.روائٹ لائن (خرگوش 2۔ ربیٹ نام + "وزن" + خرگوش 2۔ ربیٹ ویٹ + "کلو")؛

اس پر خرگوش کی طرح

یہ بہت ساری اشیاء کو سنبھالنے کا خاصا خوبصورت طریقہ نہیں ہے ، کیوں کہ ہمیں ہر خرگوش کے لئے دستی طور پر حکم لکھنا پڑتا ہے اور جہاں تک ہم چاہتے ہیں متحرک طور پر خرگوش کی تعداد میں اضافہ نہیں کرسکتے ہیں۔ ہم صرف C # نہیں سیکھنا چاہتے - ہم C # کوڈ لکھنا سیکھنا چاہتے ہیں!

یہی وجہ ہے کہ ہم ایک فہرست استعمال کرسکتے ہیں۔ ایک فہرست ایک مجموعہ ہے؛ خود متغیر جو بنیادی طور پر دیگر متغیرات کے حوالہ جات پر مشتمل ہے۔ اس معاملے میں ، ہم خرگوشوں کی ایک فہرست بنا سکتے ہیں ، اور اچھی خبر یہ ہے کہ یہ سمجھنا بہت آسان ہے:

فہرست ربیٹ لسٹ = نئی فہرست()؛ ربیٹ لسٹ۔ ایڈ کریں (نیا خرگوش ("جیف" ، "براؤن" ، 1 ، 1))؛ ربیٹ لسٹ۔ ایڈ کریں (نیا خرگوش ("سام" ، "سفید" ، 1 ، 2))؛

اس سے پہلے کی طرح نیا خرگوش پیدا ہوتا ہے ، لیکن بیک وقت اس خرگوش کو فہرست میں شامل کرتا ہے۔ یکساں طور پر ، ہم یہ کہہ سکتے ہیں:

خرگوش خرگوش 3 = نیا خرگوش ("جونی" ، "نارنگی" ، 1 ، 1)؛ ربیٹ لسٹ۔ ایڈ (خرگوش 3)؛

کسی بھی طرح سے ، کسی شے کو تشکیل دے کر اس فہرست میں شامل کیا گیا ہے۔

ہم اپنے خرگوشوں کی فہرست سے آسانی اور خوبصورتی کے ساتھ اس طرح کی معلومات بھی واپس کرسکتے ہیں۔

foreach (خرگوش کی فہرست میں var خرگوش) {Console.WriteLine (Rabbit.RabbitName + "وزن" + خرگوش.ریبیٹ ویٹ + "کلو")؛ }

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

ربیٹ لسٹ۔ ایٹ ()؛

یہاں "1" انڈیکس ہے ، جس کا مطلب ہے کہ آپ پوزیشن اول پر محفوظ معلومات کا حوالہ دے رہے ہیں۔ جیسا کہ یہ ہوتا ہے ، حقیقت میں یہی ہے دوسرا آپ نے اگرچہ خرگوش کو شامل کیا: کیونکہ پروگرامنگ کی فہرستیں ہمیشہ 0 سے شروع ہوتی ہیں۔

فبونیکی

اگر آپ نے ابھی تک اندازہ نہیں لگایا ہے تو ، اب ہم فبونیکی تسلسل تخلیق کرنے کے لئے یہ ساری معلومات استعمال کریں گے۔ بہر حال ، اگر آپ اینڈروئیڈ کے لئے C # سیکھ رہے ہیں تو ، آپ کو حقیقت میں اس نظریہ کے ساتھ کچھ دلچسپ کرنے کا اہل ہونا چاہئے!

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

1,1,2,3,5,8,13,21,34

جادوئی طور پر ، تسلسل میں ہر نمبر پچھلے دو نمبروں کی قیمت ایک ساتھ شامل ہوتی ہے۔ سائنس کے مطابق ، یہ ایک بڑی چیز ہے۔

عمدہ بات یہ ہے کہ ، ہم اس کی نقل تیار کرسکتے ہیں۔

پہلے ، ہمیں ایک نیا تصور متعارف کرانے کی ضرورت ہے: لوپ۔ جب تک کوئی شرط پوری نہ ہو اس وقت تک یہ ایک ہی کوڈ کو بار بار دہراتا ہے۔ "for" لوپ ہمیں ایک متغیر پیدا کرکے ، جو حالات ہم پورا کرنا چاہتے ہیں اسے ترتیب دے کر ، اور پھر اس پر عمل کرنے کی مدد کرتا ہے۔

کے لئے (ماخذ ماہ = 0؛ ماہ <100؛ ماہ ++) {// کچھ کریں}

لہذا ہم ایک عدد تیار کر رہے ہیں جسے مہینوں کہتے ہیں ، اور اس وقت تک لوپنگ کرتے رہتے ہیں جب تک کہ یہ 100 کے برابر نہ ہو۔ پھر ہم مہینوں کی تعداد میں ایک ایک کرکے اضافہ کرتے ہیں۔

دیکھنا چاہتے ہیں کہ یہ فبونیکی تسلسل کیسے بن سکتا ہے؟ دیکھو:

نام کی جگہ کونسول ایپ 2 {کلاس پروگرام {جامد باطل مین (سٹرنگ آرگس) {فہرست ربیٹ لسٹ = نئی فہرست()؛ ربیٹ لسٹ۔ ایڈ کریں (نیا خرگوش ("جیف" ، "براؤن" ، 0 ، 1))؛ ربیٹ لسٹ۔ ایڈ کریں (نیا خرگوش ("سیم" ، "سفید" ، 0 ، 1))؛ کے لئے (INT ماہ = 0؛ ماہ <10؛ ماہ ++) first پہلے فرسٹ ربیٹ = 0؛ INTTOReproduce = 0؛ foreach (خرگوش کی فہرست میں var خرگوش) so کنسول.روائٹ ("R")؛ if (خرگوش۔ ربیٹ ایج> 0) {اگر (پہلا ربیٹ == 0) {پہلا ربیٹ = 1؛ } دوسری {پہلا ربیٹ = 0؛ اوقاتٹراپیروڈ ++؛ bit bit خرگوش.ریبیٹج ++؛ int کے لئے (int i = 0؛ i <timesToReproduce؛ i++) bit خرگوش فہرست۔ (نیا خرگوش ("نیوبیبی ربیٹ" ، "بھوری" ، 0 ، 1))؛ ربیٹ لسٹ۔ ایڈ کریں (نیا خرگوش ("نیوبیبی ربیٹ" ، "براؤن" ، 0 ، 1))؛ کنسول.روائٹ ("r")؛ کنسول.روائٹ ("r")؛ so کنسول.روائٹ لائن ("---" + خرگوش کی فہرست ہیں۔ حساب / 2 + "خرگوش کے جوڑے ہیں!")؛ کنسول.روائٹ لائن ("")؛ so کنسول.روائٹ لائن ("تمام ہو گیا!")؛ کنسول. ریڈکی ()؛ }}}

ٹھیک ہے ، یہ میرے خیال سے کہیں زیادہ مشکل تھا!

میں ان سب سے گزرنے والا نہیں ہوں ، لیکن جو کچھ آپ نے پہلے ہی سیکھ لیا ہے اس کا استعمال کرتے ہوئے ، آپ کو انجینئر ریورس کرنے کے قابل ہونا چاہئے۔

ایسا کرنے کے یقینی طور پر اور بھی بہت سارے خوبصورت طریقے موجود ہیں - میں کوئی ریاضی دان نہیں ہوں۔ تاہم ، مجھے لگتا ہے کہ یہ کافی تفریحی ورزش ہے ، اور ایک بار جب آپ یہ کر سکتے ہیں تو ، آپ بڑے وقت کے لئے تیار ہوجاتے ہیں۔

مجھے پسند ہے کہ ویسے بھی کوئی دوسرا راستہ دیکھنا ہے۔

ہم یہاں سے کہاں جائیں؟ C # لوڈ ، اتارنا Android کے لئے سیکھنے کا طریقہ

آپ کے بیلٹ کے نیچے اس سارے علم کے ساتھ ، آپ بڑی چیزوں کو شروع کرنے کے لئے تیار ہیں۔ خاص طور پر ، آپ زامارین یا اتحاد میں C # کے ساتھ اینڈروئیڈ پروگرامنگ میں چھرا لینے کے لئے تیار ہیں۔

یہ مختلف ہے کیونکہ آپ گوگل ، مائیکروسافٹ اور اتحاد کے ذریعہ فراہم کردہ کلاسز استعمال کر رہے ہوں گے۔ جب آپ "RigidBody2D.वेग" جیسے کچھ لکھتے ہیں تو آپ جو کچھ کر رہے ہیں وہ کلاس سے کسی پراپرٹی تک رسائی حاصل کرنا ہے کہا جاتا ہے RigidBody2D. یہ صرف ایک ہی کام کرتا ہے ، فرق صرف اتنا ہے کہ آپ RigidBody2D نہیں دیکھ سکتے کیونکہ آپ نے خود اسے نہیں بنایا ہے۔

آپ کے بیلٹ کے نیچے اس سی # کے ساتھ ، آپ کو ان میں سے کسی بھی انتخاب میں کودنے کے لئے تیار رہنا چاہئے اور جب یہ سمجھنے میں آتا ہے کہ کیا ہو رہا ہے:

  • زامارین کے ساتھ اینڈرائڈ ایپ بنانے کا طریقہ
  • اتحاد کے ساتھ 7 منٹ میں اپنا پہلا Android گیم بنائیں

آئندہ سبق میں ، ہم یہ بھی دیکھیں گے کہ آپ کس طرح یو ٹرن لے سکتے ہیں اور اس کی بجائے ونڈوز ایپس بنانے کے لئے اسے استعمال کرسکتے ہیں!

ایک Android گیم بنانا چاہتے ہیں؟ابھی ، گوگل پلے اسٹور میں تنخواہ سے جیتنے والے کوڑے دان بھرا ہوا ہے ، جبکہ آئی او ایس بہترین انڈی لقبوں کا ایک اسموگاس بورڈ حاصل کرتا ہے۔ ہمیں آپ جیسے حوصلہ افزا ڈویلپر...

قطع نظر اس بات سے قطع نظر کہ آپ لفظ کا انتخاب کس طرح کرتے ہیں ، ایک GIF اکثر جذبات کا اظہار کرنے کا بہترین طریقہ ہوتا ہے۔ یہ متحرک تصاویر ایک تصویر کے اظہار کے 1،000 الفاظ سے زیادہ کہہ سکتی ہیں ، لیکن...

ہماری پسند