KnowledgeCity

Java پروگرامنگ: وراثت اور پولیمورفزم

Java پروگرامنگ کا آغاز ENUMS سے ہوگا، جو ہمیں مستقل اقدار (کنسٹینٹس) کی فہرست بنانے کی اجازت دیتا ہے جیسے پیر، منگل، بدھ وغیرہ۔ یہ ماڈیول وراثت کو…

Java پروگرامنگ کا آغاز ENUMS سے ہوگا، جو ہمیں مستقل اقدار (کنسٹینٹس) کی فہرست بنانے کی اجازت دیتا ہے جیسے پیر، منگل، بدھ وغیرہ۔ یہ ماڈیول وراثت کو واضح کرتا ہے، جہاں ایک کلاس دوسری کی خصوصیات حاصل کرتی ہے، اور پولیمورفزم کو، جس میں کئی کلاسز وراثت کے ذریعے ایک دوسرے سے جڑی ہوتی ہیں۔ یہ کورس تجرید (صرف ضروری خصوصیات دکھانا)، ریگولر ایکسپریشنز - وہ حروف جو ایک سرچ پیٹرن بناتے ہیں، تھریڈز - JVM کے ذریعے ماڈیولز کے متعدد عمل، اور اوور لوڈنگ - ماڈیولز کو ایک ہی نام رکھنے مگر مختلف طریقوں سے کام کرنے کی اجازت دینا، پر بات کرے گا۔ ہم متغیرات (اور طریقوں) کے دائرہ کار، ریکرشن کے تصور جہاں طریقے خود کو بلاتے ہیں، ٹائپ کاسٹنگ جو آپ کو متغیر کی ڈیٹا ٹائپ تبدیل کرنے کی اجازت دیتی ہے، اور پیکجز، جو ملتی جلتی اقسام کی کلاسز کے گروپ ہیں، پر بھی بات کرتے ہیں۔

سیکھنے کے مقاصد:

  • لسٹس کا استعمال سیکھیں
  • وراثت کو سمجھیں
  • بیان کریں کہ ریگولر ایکسپریشنز کیسے ایک سرچ پیٹرن بناتے ہیں
  • یہ پہچانیں کہ کسی متغیر کی ڈیٹا ٹائپ کیسے تبدیل کی جائے

مصنف: Cliff Brozo

دورانیہ: 1h 23m · 11 اسباق
سطح: Intermediate
زبان: اردو

مہارتیں جو آپ حاصل کریں گے

Generics In JavaJava (Programming Language)Java Foundation ClassesJava ModuleObject Oriented Programming LanguageObject-Oriented Programming (OOP)

آپ کیا سیکھیں گے

  • Java میں ENUMS کا استعمال کرتے ہوئے مستقل (constants) کی فہرستیں استعمال کریں
  • انہیرٹنس (inheritance) کو سمجھیں، جہاں ایک کلاس دوسری کلاس کی خصوصیات حاصل کرتی ہے، اور پولی مارفزم (polymorphism)
  • صرف ضروری خصوصیات دکھانے کے لیے ایبسٹریکشن (abstraction) کا اطلاق کریں اور ملتی جلتی کلاسز کو گروپ کرنے کے لیے پیکجز (packages) کا استعمال کریں
  • بیان کریں کہ ریگولر ایکسپریشنز (regular expressions) کس طرح سرچ پیٹرن بناتے ہیں
  • ٹائپ کاسٹنگ (typecasting) کے ذریعے متغیر (variable) کی ڈیٹا ٹائپ کو تبدیل کرنے کے طریقے کی نشاندہی کریں
  • تھریڈز (threads)، اوورلوڈنگ (overloading)، متغیر کے اسکوپ (variable scope)، اور ریکرژن (recursion) کے ساتھ کام کریں

اہم نکات

  • ENUMS آپ کو پیر، منگل اور بدھ جیسے مستقل (constants) کی فہرست بنانے کی اجازت دیتے ہیں۔
  • انہیرٹنس (Inheritance) وہ ہے جہاں ایک کلاس دوسری کلاس کی خصوصیات حاصل کرتی ہے، اور پولی مارفزم (polymorphism) وہ ہے جہاں کئی کلاسیں انہیرٹنس کے ذریعے آپس میں جڑی ہوتی ہیں۔
  • ایبسٹریکشن (Abstraction) صرف ضروری خصوصیات دکھاتا ہے، جبکہ ریگولر ایکسپریشنز وہ کریکٹرز ہیں جو سرچ پیٹرن بناتے ہیں۔
  • اوورلوڈنگ ماڈیولز کو ایک ہی نام رکھنے لیکن مختلف طریقوں سے کام کرنے کی اجازت دیتی ہے، اور ریکرژن وہ تصور ہے جہاں میتھڈز خود کو کال کرتے ہیں۔
  • ٹائپ کاسٹنگ آپ کو متغیر کی ڈیٹا ٹائپ تبدیل کرنے کی اجازت دیتی ہے، اور پیکجز ایک جیسی قسم کی کلاسز کے گروپس ہیں۔

اکثر پوچھے گئے سوالات

یہ Java کورس کن موضوعات کا احاطہ کرتا ہے؟

یہ کورس ENUMS، انہیرٹنس، پولی مارفزم، ایبسٹریکشن، ریگولر ایکسپریشنز، تھریڈز، اوورلوڈنگ، متغیرات اور میتھڈز کے اسکوپ، ریکرژن، ٹائپ کاسٹنگ، اور پیکجز کا احاطہ کرتا ہے۔

اس کورس کے اختتام تک میں کیا سیکھوں گا؟

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

اس کورس میں انہیرٹنس اور پولی مارفزم میں کیا فرق ہے؟

انہیرٹنس وہ ہے جہاں ایک کلاس دوسری کلاس کی خصوصیات حاصل کرتی ہے، جبکہ پولی مارفزم وہ ہے جہاں بہت سی کلاسیں انہیرٹنس کے ذریعے آپس میں جڑی ہوتی ہیں۔

یہ کورس کن مہارتوں کو بنانے میں مدد کرتا ہے؟

یہ کورس Generics in Java، Java (programming language)، Java Foundation Classes، Java Module، اور Object-Oriented Programming (OOP) کی مہارتوں سے متعلق ہے۔

اس کورس میں تھریڈز کیا ہیں؟

تھریڈز JVM کی طرف سے ماڈیولز کی ایک سے زیادہ ایگزیکیوشنز ہیں۔

متن

متن

آج کا سبق، ہم گنتی کے بارے میں بات کرنے جا رہے ہیں۔ اب گنتی بنیادی طور پر ایک مکمل ترتیب شدہ فہرست ہے۔ ایک مجموعہ یا سیٹ میں موجود تمام اشیاء کا۔ تو مثال کے طور پر، سوموار منگل بدھ، جمعرات، جمعہ، ہفتہ، اتوار، ہفتے کے دنوں کی مکمل فہرست ہوگی۔ سرخ، نارنجی، پیلا، سبز، نیلا، انڈگو اور بنفشی مکمل سیٹ ہو سکتا ہے یا نہیں۔ آپ جس کے بارے میں بات کر رہے ہیں اس پر منحصر ہے۔ اگر وہ سپیکٹرم میں رنگ ہیں، ROYGBIV رنگ، پھر ہاں یہ ہے۔ اگر یہ تمام رنگوں کے لیے کھڑا ہے، ٹھیک ہے، نہیں ایسا نہیں ہے۔ آئیے اس پر ایک نظر ڈالتے ہیں کہ پروگرام میں گنتی کا استعمال کیسے کیا جاتا ہے۔ میں نے یہ واضح کرنے کے لیے لائن 11 کھینچی ہے کہ آپ کیسے اعلان کریں گے۔ ایک شمار جسے سیارے کہتے ہیں۔ اور اگر آپ اسکرین کے اوپری حصے کو دیکھیں آپ دیکھ سکتے ہیں کہ میرے پاس عوامی اینوم سیارے ہیں۔ اور پھر نو سیارے۔ ہاں، میں اب بھی پلوٹو کو بطور سیارے شامل کر رہا ہوں۔ ہمارے نظام شمسی میں نو سیارے۔ لائن 11 کے بعد ہمارا مرکزی معمول ہے۔ جہاں ہمارے پاس صرف ایک لوپ ہے۔ جو تمام سیاروں کو پرنٹ کرتا ہے۔ انفرادی طور پر ہر ایک تک رسائی حاصل کرکے۔ تو لائن 15 میں، میرے پاس چار سیارے ہیں، P، اور میں سیارے کی گنتی کو منسلک کر رہا ہوں، اور خاص طور پر اس فہرست کی اقدار، اور میں ایک پی پرنٹ کر رہا ہوں۔ اور یہ لوپ کے لیے ایک مختلف قسم ہے، کیونکہ میں P کو بطور کنٹرول استعمال کر رہا ہوں۔ میں کس سیارے تک رسائی حاصل کرنا چاہتا ہوں۔ جب میں پروگرام چلاتا ہوں، جیسا کہ آپ بہت نیچے دیکھ سکتے ہیں، میرے پاس تمام سیارے ترتیب میں ہیں۔ کیونکہ P ہر سیارے کے لیے گھومتا ہے۔ گنتی میں آخری تین سطریں آپ کو دکھاتی ہیں۔ کہ آپ کرہ ارض کی قدر تک رسائی حاصل کر سکتے ہیں، لفظ زمین کے معنی یا سیاروں میں سے کسی کی ترتیب نمبر۔ پلوٹو، مریخ۔ اور آپ ایک چن سکتے ہیں۔ اور صرف اس صورت میں جب آپ سوچ رہے تھے۔ جہاں ہم نظام شمسی میں ہیں، زمین یہاں ہے۔ اندرونی سیاروں میں ہم سب سے بڑے ہیں۔ لیکن جب آپ بیرونی سیاروں کو دیکھتے ہیں، زمین یہاں ہے اور ہم سب سے چھوٹے ہیں۔ آئیے شمار کی ایک اور مثال لیتے ہیں۔ فرض کریں کہ میں راک پیپر کینچی کا کھیل کھیلنا چاہتا ہوں۔ مجھے صرف ایک گنتی کرنے کی ضرورت ہے۔ کہ میں ہاتھ کا نشان کہوں گا، کیونکہ راک پیپر کینچی ہاتھ کا کھیل ہے۔ تو میرے پاس تین امکانات ہیں، قینچی، کاغذ اور چٹان، اور اس سے کوئی فرق نہیں پڑتا کہ میں نے ان کو کس ترتیب میں رکھا ہے۔ جب میں ایک پروگرام لکھتا ہوں۔ میرے پاس لائن 12 ہے جو ظاہر کرتی ہے کہ یہاں میری گنتی ہے۔ پروگرام میں اسکرین کو صاف کرنے کا معمول ہے۔ فرار کی ترتیب بنا کر، اور میں system.out.print استعمال کر سکتا ہوں۔ اور حروف کے اس مجموعہ کو استعمال کریں۔ \033 فرار کا کردار ہے۔ جب \033 کو اوپن بریکٹ کے ساتھ ملایا جاتا ہے، 033H ہمیں منتقل کرنے کی اجازت دیتا ہے۔ اسکرین کے اوپری بائیں کونے میں، اور 2J ہمیں سکرین صاف کرنے کی اجازت دیتا ہے۔ تو ان کرداروں کو ایک ساتھ رکھ کر میں وہاں موجود کسی بھی چیز کی سکرین صاف کر سکتا ہوں، اس کے بعد سسٹم آؤٹ پٹ کا فلش کسی بھی کوڑا کرکٹ سے چھٹکارا حاصل کرنے کے لئے جو اب بھی سسٹم آؤٹ پٹ پرنٹ میں ہے۔ پھر میں کچھ بے ترتیب نمبروں کا اعلان کرتا ہوں، جو ہم پہلے کر چکے ہیں۔ میرے پاس یہ حساب کرنے کے لیے کچھ عدد ہیں کہ کتنے کھیل کھیلے جاتے ہیں، کمپیوٹر کتنی بار جیتتا ہے، کھلاڑی کتنی بار جیتتا ہے، اور کتنے رشتے ہیں۔ اور پھر میں کھیل کی منطق میں آتا ہوں۔ اور تم جانتے ہو کیا؟ آئیے کھیل کے اصل دوڑ کی طرف چلتے ہیں۔ اور دیکھیں کہ یہ کیسے کام کرتا ہے۔ ہم جو کچھ حاصل کرنے جا رہے ہیں وہ کچھ اس طرح نظر آتا ہے۔ لیکن آئیے دیکھتے ہیں کہ یہ براہ راست ہوتا ہے۔ میں آن لائن GDB کمپائلر استعمال کر رہا ہوں، اور میں آپ کو دکھانے کے لیے یہ پروگرام چلانے والا ہوں۔ میں گیم کھیلنے کے بارے میں کیسے جاتا ہوں۔ ایک بار پھر، پورا کوڈ یہاں ہے۔ اس میں سے بہت کچھ خاص طور پر کرنے کی ضرورت نہیں ہے۔ گنتی ترتیب دینے کے ساتھ، لیکن اس کا تعلق اس بات سے ہے کہ ہم اشیاء تک کیسے پہنچتے ہیں۔ جو اس گنتی میں ہیں۔ امید ہے کہ ہر کوئی کاغذ کی کینچی کو روکنے کے قوانین کو جانتا ہے۔ میں تھوڑی دیر کے لوپ کے ساتھ شروع کرتا ہوں جو کمانڈ جاری کرتا ہے۔ جو صارف کو بتاتا ہے کہ کیا کرنا ہے۔ کینچی کے لیے S، کاغذ کے لیے P درج کریں، R کے لیے راک یا Q جب آپ کھیلنا ختم کر لیں تو گیم چھوڑ دیں۔ میں ان پٹ کو چھوٹے حروف میں تبدیل کرتا ہوں۔ اور پھر سوئچ اسٹیٹمنٹ کے ذریعے اندازہ کریں۔ انہوں نے کون سا خط دبایا۔ اگر ان کے پاس غلط خط تھا، میں انہیں ایک پیغام دیتا ہوں اور لوپ کو دوبارہ جاری رکھتا ہوں۔ نیچے منتقل، میرے پاس کچھ کوڈ ہے جو بے ترتیب نمبر تیار کرے گا۔ جو کمپیوٹر کی حرکت ہو گی، اور ایک لائن کمپیوٹر اور اس کی حرکت کو پرنٹ کرتی ہے، کھلاڑی اور اس کی حرکت۔ پھر یہ معلوم کرنے کا وقت ہے کہ کھیل کس نے جیتا ہے۔ اگر دونوں حرکتیں برابر ہیں تو یہ ٹائی ہے۔ اگر کمپیوٹر کی حرکت قینچی ہے۔ اور کھلاڑی کی حرکت کاغذی ہے، ہم جانتے ہیں کہ کینچی کاغذ کاٹتی ہے۔ تو کمپیوٹر جیت جاتا ہے۔ میں تمام امکانات سے گزرتا ہوں۔ کمپیوٹر جیتنے سے، اور پھر کھلاڑی کے جیتنے کے امکانات۔ آخر میں، اسکرین کے نیچے، میں فیصد کا پتہ لگاتا ہوں۔ کمپیوٹر کتنی بار جیت گیا، کھلاڑی نے کتنی بار جیتا، اور کتنی بار ٹائی ہوئی، اور اس معلومات کو پرنٹ کریں۔ لیکن یہاں گنتی کا حصہ اس ہاتھ کے نشان کی کینچی کے ساتھ کیا کرنا ہے، ہاتھ کا نشان پتھر اور ہاتھ سے دستخط کرنے والا کاغذ۔ اور یہ مجھے واپس جانے کی اجازت دیتا ہے۔ اور چیک کریں کہ ان اشیاء کی قیمتیں کیا تھیں۔ آئیے گیم کھیلتے ہیں۔ جب ہم گیم چلاتے ہیں تو یہ مجھے ہدایات بتاتا ہے، کہ یہ راک پیپر کینچی کا کھیل ہے۔ میں راک کے لیے ایک R کا انتخاب کروں گا۔ اور یہ مجھے بتاتا ہے کہ یہ ٹائی تھی۔ 'کیونکہ کمپیوٹر نے بھی ایک چٹان کا انتخاب کیا۔ اب دوبارہ ایک چٹان کا انتخاب کریں۔ اس بار کمپیوٹر نے قینچی کا انتخاب کیا اور میں جیت گیا۔ ایک اور چٹان۔ کمپیوٹر نے قینچی کا انتخاب کیا۔ میں پھر جیت گیا۔ ایک اور چٹان۔ اوہ، کمپیوٹر نے کاغذ کا انتخاب کیا۔ اس نے میرے کھیل کو پکڑ لیا۔ اب کمپیوٹر جیت گیا۔ تو میں کاغذ کا انتخاب کروں گا۔ اس بار کمپیوٹر نے قینچی کا انتخاب کیا، اور قینچی نے کاغذ کاٹ دیا۔ اب یاد رکھیں کہ ایک بے ترتیب جنریٹر ہے، اور بے ترتیب جنریٹر یہ بتاتا ہے کہ کیا ہو رہا ہے۔ میں دوبارہ قینچی کا انتخاب کروں گا اور پھر پروگرام چھوڑ دوں گا۔ اور یہ پیدا کرتا ہے، میں نے چھ کھیل کھیلے۔ دو بار کمپیوٹر جیت گیا۔ دو بار میں جیت گیا۔ اور دو رشتے تھے۔ گنتی کے بارے میں جاننے کا ایک اچھا طریقہ ان چیزوں پر ایک نظر ڈالنا ہے جن سے ہم واقف ہیں۔ اس صورت میں، ہمارے نظام شمسی میں سیاروں کی ترتیب۔ لائن 12 پر ایک نظر ڈالیں۔ یہ ترتیب میں سیاروں کی معیاری فہرست ہے۔ جیسا کہ وہ سورج سے دور ہوتے ہیں. عطارد، زہرہ، زمین، مریخ، مشتری، زحل۔ ہم نے ان سیاروں کے نام رکھے ہیں۔ ایک شمار کے اندر جسے سیارے کہتے ہیں۔ اور وہاں سے میں فہرست پرنٹ کر سکتا ہوں۔ آئیے پروگرام چلاتے ہیں۔ جب میں پروگرام چلاتا ہوں تو مجھے سیاروں کی پوری فہرست مل جاتی ہے۔ نیچے میں زمین کی قدر زمین ہے. پلوٹو کا اشاریہ آٹھ ہے، اور مریخ کا اشاریہ تین ہے۔ یہاں کیا ہو رہا ہے کیا یہ لوپ کے لیے قیمت پرنٹ کرے گا، یا اس معاملے میں نام، گنتی میں ہر سیارے کا۔ پھر میں ایک مخصوص سیارے کی قیمت پرنٹ کرتا ہوں، اسے نام سے پکارتے ہیں۔ اور میں آرڈینل نمبر پرنٹ کر سکتا ہوں، جو کہ انڈیکس ہے۔ کیونکہ آپ کو یاد ہوگا کہ یہ صفر سے شروع ہوتا ہے۔ اب ہم سب جانتے ہیں کہ زمین سورج سے تیسرا سیارہ ہے۔ یہ کچھ الجھا ہوا ہے۔ مریخ کو سیارے نمبر تین کے طور پر دیکھنے کے لیے۔ ہم سب جانتے ہیں کہ زمین سورج کی تیسری چٹان ہے، لہذا مجھے کیا کرنے کی ضرورت ہے آرڈینل نمبر پرنٹ نہیں کرنا، لیکن اینوم میں سیارے کی پوزیشن پرنٹ کریں۔ میں ایسا کرتا ہوں، لیکن دو لائنوں کے ساتھ۔ پہلی لائن سیارہ نامی ایک عدد عدد پیدا کرنا ہو گی، اور میں اسے زمین کی قیمت کے سیارے پر مقرر کروں گا۔ اور میں آرڈینل نمبر میں ایک کا اضافہ کروں گا۔ تو زمین، جس کا اشاریہ دو ہے۔ مرکری صفر ہے۔ زہرہ ایک ہے اور زمین دو ہے۔ اگر ہم ایک کو آرڈینل، یا انڈیکس میں شامل کرتے ہیں، ہمارے پاس زمین تیسرے سیارے کے طور پر ہوگی۔ اور پھر میں پرنٹ کر سکتا ہوں کہ زمین سیارہ نمبر تین ہے۔ آئیے پروگرام چلاتے ہیں، اور ہم دیکھیں گے کہ زمین واقعی اوپر آتی ہے۔ سیارے نمبر تین کے طور پر اب آپ جانتے ہیں کہ ایک سادہ گنتی بنا کر آپ کسی بھی قدر کو کھینچ سکتے ہیں جو ایک مکمل سیٹ ہے، اور ان اقدار کو اپنے پروگرام میں استعمال کریں۔

چلتے پھرتے سیکھیں

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