پچھلے بلاگ میں ، آپ کے بارے میں سیکھا تھا جاوا میں اب اس بلاگ میں ، ہم اس کے ایک اور اہم ستون کو سمجھیں گے یعنی جاوا خلاصہ جس کی بنیادی فعالیت داخلی عمل درآمد کی تفصیلات کو چھپانا ہے۔
میں اس مضمون میں مندرجہ بالا عنوانات کا احاطہ کروں گا:
- OOP میں خلاصہ
- جاوا خلاصہ کیا ہے؟
- خلاصہ کلاس
- انٹرفیس
- جاوا میں تجرید کی حقیقی زندگی کی مثال
- خلاصہ بمقابلہ انکسیپولیشن
آپ اس ریکارڈنگ کے ذریعے بھی گزر سکتے ہیں جہاں آپ مثالوں کے ساتھ عنوانات کو تفصیلی انداز میں سمجھ سکتے ہیں۔
OOP میں خلاصہ
جب ہم عام طور پر تجرید کے بارے میں بات کرتے ہیں تو سافٹ ویئر کی زبان خلاصہ کی ایک مثال ہے۔ آئیے ایک مثال لیں اور بیان لکھیں جیسے-
x = y + z
مذکورہ بیان میں ، ہم دو متغیرات شامل کر رہے ہیں جو دو مختلف جگہوں پر محفوظ ہیں اور پھر نتیجہ کو ایک نئی جگہ میں اسٹور کرتے ہیں۔ تو ، اس کے بعد کیا ہوتا ہے؟ جیسا کہ آپ جان سکتے ہو ، رجسٹر ، انسٹرکشن سیٹ ، پروگرام کاؤنٹر ، اسٹوریج یونٹ ، وغیرہ شامل ہیں۔ جب ہم جاوا میں تجرید کا حوالہ دیتے ہیں تو ، ہم اندر خلاصی کی بات کرتے ہیں اور یہ کس طرح حاصل کیا جاتا ہے۔ OOP میں تجریدی کا تصور اسی وقت شروع ہوتا ہے جب ایک کلاس حاملہ ہوتا ہے۔ تجریدی سافٹ ویئر اور او او پی میں ہر جگہ لاگو ہوتا ہے۔
جاوا میں اوور رائیڈنگ اور اوورلوڈنگ
جاوا خلاصہ کیا ہے؟
خلاصہ واقعات کے بجائے خیالات سے نمٹنے کے معیار کے سوا کچھ نہیں ہے۔ یہ بنیادی طور پر اندرونی تفصیلات کو چھپانے اور صارف کو ضروری چیزیں دکھانے سے متعلق ہے۔
اگر آپ مذکورہ بالا جی آئی ایف کو دیکھیں تو ، آپ دیکھ سکتے ہیں کہ آپ کو کال آنے پر ، ہمیں ایک اختیار حاصل ہوگا کہ وہ اسے اٹھاؤ یا صرف اسے مسترد کردے۔ لیکن حقیقت میں ، وہاں بہت سے کوڈ موجود ہیں جو پس منظر میں چلتے ہیں۔ تو یہاں ، آپ کو کال کی تخلیق کیسے ہوتی ہے اس کی اندرونی پروسیسنگ نہیں جانتے ، یہی تجریدی خوبصورتی ہے۔ آپ دو طرح سے خلاصہ حاصل کرسکتے ہیں:
a) خلاصہ کلاس
جاوا اسکرپٹ کا واقعہ کیا ہے؟
ب) انٹرفیس
آئیے ان تصورات کو مزید تفصیل سے سمجھیں۔
خلاصہ کلاس
خلاصہ کلاس میں 'خلاصہ' کلیدی لفظ ہوتا ہے۔ لیکن اس کا اصل معنی کیا ہے؟ اگر آپ کلاس کو خلاصہ بناتے ہیں تو ، اسے فوری نہیں بنایا جاسکتا ، یعنی آپ خلاصہ کلاس کا کوئی مقصد نہیں بنا سکتے ہیں۔ نیز ، ایک تجریدی کلاس میں تجرید کے ساتھ ساتھ ٹھوس طریقوں پر مشتمل ہوسکتا ہے۔
نوٹ: آپ ایک تجریدی کلاس کا استعمال کرکے 0-100٪ خلاصہ حاصل کرسکتے ہیں۔
خلاصہ کلاس استعمال کرنے کے ل you ، آپ کو بیس کلاس سے اس کا وارث ہونا پڑے گا۔ یہاں ، تجریدی طریقوں کے لئے آپ کو عمل درآمد کرنا ہوگا ، بصورت دیگر یہ ایک تجریدی کلاس بن جائے گا۔
آئیے ایک تجریدی کلاس کے ترکیب کو دیکھیں:
خلاصہ کلاس کھیل {// خلاصہ کلاس کھیل اسپورٹ باطل جمپ () // خلاصہ طریقہ}
انٹرفیس
جاوا میں ایک انٹرفیس تجریدی طریقوں اور جامد استحکام کا ایک مجموعہ ہے۔ جیسا کہ آپ جان سکتے ہو انٹرفیس میں ، ہر طریقہ عوامی اور تجرید کا ہے لیکن اس میں کوئی بھی تعمیر کنندہ نہیں ہوتا ہے۔ تجرید کے ساتھ ، انٹرفیس جاوا میں متعدد وراثت کو حاصل کرنے میں بھی مدد کرتا ہے۔
نوٹ: آپ انٹرفیس کا استعمال کرتے ہوئے 100٪ تجریدی حاصل کرسکتے ہیں۔
بنیادی طور پر ، انٹرفیس خالی لاشوں کے ساتھ متعلقہ طریقوں کا ایک گروپ ہے۔ آئیے اس سے متعلق طریقوں کے ساتھ ایک شیپ ’انٹرفیس کی مثال لے کر انٹرفیس کو سمجھیں۔
عوامی انٹرفیس شکل {عوامی باطل ڈرا () عوامی ڈبل getArea ()}
ان طریقوں کو ہر ’شکل‘ میں موجود ہونا ضروری ہے ، ہے نا؟ لیکن ان کا کام مختلف ہونے جا رہا ہے۔
آئیے فرض کریں کہ آپ ایک شکل بنانا چاہتے ہیں ، کہتے ہیں دائرہ ، مربع ، مستطیل وغیرہ۔ آپ کو پہلے ہی پتہ ہے ، ہر شکل کی اپنی طول و عرض جیسے رداس ، اونچائی اور چوڑائی ہوتی ہے۔ کہیں کہ میں ایک حلقہ کھینچ کر اس کے رقبے کا حساب لگانا چاہتا ہوں۔ اسی کو مد نظر رکھتے ہوئے ، میں نے مذکورہ کوڈ یعنی ڈرا () اور getArea () میں دو طریقے تیار کیے ہیں۔ اب ، ان طریقوں کا استعمال کرتے ہوئے ، میں کسی بھی شکل کو اپنی طرف متوجہ کرسکتا ہوں اور اس کے انٹرفیس کو لاگو کرکے اس علاقے کا حساب کتاب کرسکتا ہوں۔
آئیے ، اب فعالیت پر غور کریں کہ آپ اس انٹرفیس کو کس طرح نافذ کرسکتے ہیں۔
اس انٹرفیس کو نافذ کرنے کے ل your ، آپ کی کلاس کا نام کسی بھی شکل میں تبدیل ہوجائے گا ، آئیے کہتے ہیں کہ 'سرکل'۔ لہذا ، کلاس انٹرفیس کو نافذ کرنے کے لئے ، میں 'عمل درآمد' کلیدی لفظ استعمال کروں گا:
پبلک کلاس حلقہ شکل {نجی ڈبل رداس پبلک سرکل (ڈبل آر) کو لاگو کرتا ہے {this.radius = r} باطل ڈرا (). System.out.println ('ڈرائنگ سرکل')} عوامی ڈبل getArea () {واپسی ریاضی.پی آئ * this.radius * this.radius} پبلک ڈبل getRadius () {this.radius}} پبلک کلاس ٹیسٹ {عوامی جامد باطل اہم (سٹرنگ آرگز []) {شکل c = نیا حلقہ (8) c.draw () سسٹم۔ out.println ('ایریا =' + c.getArea ())}
مندرجہ بالا مثال میں ، میں نے دائرے کے مختلف طریقوں اور حساب کتاب کے لئے خصوصیات بیان کی ہیں۔ یہاں ، انٹرفیس کو نافذ کرنے پر ، یہ ایک طبقے کو اس کے رویے کے بارے میں مزید رسمی بننے کی اجازت دیتا ہے جو وہ فراہم کرتا ہے۔ آپ ایک اور کلاس بھی تشکیل دے سکتے ہیں ، کہہ سکتے ہیں کہ ’مستطیل‘ کلاس ہے جو مختلف خصوصیات کے ساتھ ایک ہی انٹرفیس ‘شکل’ کا وارث ہوسکتا ہے۔
جاوا میں تجرید کی اصل وقت کی مثال
فرض کریں کہ ہمارے پاس انٹرفیس کی حیثیت سے کھیل ہے۔ یہاں ، 'بیڈمنٹن' اور 'فٹ بال' نامی کلاسوں کے ذریعہ عمل درآمد فراہم کیا جائے گا۔ اصل منظر نامے میں ، اختتامی صارف عمل درآمد کلاس سے واقف نہیں ہوگا۔ لہذا ، عمل درآمد کلاس کا ایک مقصد فیکٹری کے طریقہ کار کے ذریعہ فراہم کیا جاسکتا ہے۔ فیکٹری کے طریقہ کار کو کچھ پیمانوں پر مبنی عمل درآمد کلاس پیدا کرنے کے لئے استعمال کیا جاسکتا ہے۔
آئیے اسی کو نافذ کریں اور ایک انٹرفیس بنائیں جسے سپاٹ.جاوا کہتے ہیں۔
عوامی انٹرفیس اسپورٹ {باطل کھیل ()} // اب ، ہم 'بیڈمنٹن' پبلک کلاس نامی کلاس بنائیں گے جس میں بیڈمنٹن کھیل کا اطلاق کرتا ہے {@ اوورائڈ پبلک باطل کھیل (). System.out.println ('Playing Badminton')}} // اگلا ، ہم اپنی آخری کلاس “فٹ بال” عوامی کلاس بنائیں فٹ بال کے کھیل کا اطلاق {@ آورائڈ پبلک باطل کھیل (). System.out.println ('فٹ بال کھیلنا')}
آخری اقدام 'اسپورٹ انٹرفیس' کے نام سے ایک مرکزی کلاس بنانا ہے۔
عوامی اسپورٹ انٹرنفیس {عوامی جامد باطل اہم (سٹرنگ آرگس []) {// اپنا کوڈ یہاں}}
جب آپ مندرجہ بالا پروگرام پر عملدرآمد کرتے ہیں تو ، آؤٹ پٹ ذیل میں دکھایا جائے گا:
بیڈمنٹن کھیلنا ------------------- فٹ بال کھیلنا
مجھے امید ہے کہ آپ لوگ انٹرفیس کے بارے میں واضح ہیں اور آپ اس کو استعمال کرکے تجرید کو کیسے حاصل کرسکتے ہیں۔ اب ، خلاصہ اور انکسیپولیشن کا موازنہ کرکے اس مضمون کو اختتام کرتے ہیں۔
یہ جاوا کب استعمال کریں
خلاصہ بمقابلہ انکسیپولیشن
تجری | انکپسولیشن |
ڈیزائن کی سطح میں مسئلہ حل کرتا ہے | عمل درآمد کی سطح میں مسئلہ حل کرتا ہے |
ناپسندیدہ ڈیٹا کو چھپانے اور متعلقہ نتائج دینے کے لئے استعمال کیا جاتا ہے | انکپسولیشن کا مطلب ہے بیرونی دنیا سے ڈیٹا کو بچانے کے لئے کوڈ اور ڈیٹا کو کسی ایک یونٹ میں چھپانا |
بیرونی ترتیب - ڈیزائن کے معاملے میں استعمال کیا جاتا ہے | اندرونی ترتیب - نفاذ کی شرائط میں استعمال کیا جاتا ہے |
مجھے امید ہے کہ آپ تجرید اور انکسیپولیشن کے مابین فرق کو سمجھ گئے ہوں گے۔ اس کے ساتھ ، ہم جاوا تجریدی بلاگ کو ختم کردیں گے۔ امید ہے ، آپ کو یہ معلوماتی معلوم ہوا اور اس سے آپ کے علم کی اہمیت بڑھنے میں مدد ملی۔ اگر آپ جاوا کے بارے میں مزید معلومات حاصل کرنا چاہتے ہیں تو ، آپ اس کا حوالہ دے سکتے ہیں
اب جب آپ 'جاوا خلاصہ کیا ہے' سمجھ چکے ہیں ، اس کی جانچ پڑتال کریں ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کا نیٹ ورک موجود ہے۔ ایڈورکا کا جاوا J2EE اور SOA ٹریننگ اور سرٹیفیکیشن کورس طلباء اور پیشہ ور افراد کے لئے ڈیزائن کیا گیا ہے جو جاوا ڈویلپر بننا چاہتے ہیں۔ کورس آپ کو جاوا پروگرامنگ میں آغاز فراہم کرنے اور ہائبرنیٹ اینڈ اسپرنگ جیسے جاوا کے مختلف فریم ورکوں کے ساتھ ساتھ جاوا کے دونوں بنیادی خیالات کے ساتھ تربیت دینے کے لئے ڈیزائن کیا گیا ہے۔
ہمارے لئے ایک سوال ہے؟ برائے کرم اس 'جاوا خلاصہ' بلاگ کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم جتنی جلدی ممکن ہو آپ کو ملیں گے۔