OOP (آبجیکٹ اورینٹڈ پروگرامنگ) کیا ہے؟ کیا C# OOP کے ساتھ مطابقت رکھتا ہے؟

Oop Abjyk Awryn Prwgramng Kya Kya C Oop K Sat Mtabqt Rk Ta



پروگرامنگ زبانیں ہمیں سافٹ ویئر، ایپلیکیشنز اور ویب سائٹس بنانے کی اجازت دیتی ہیں جو دنیا بھر کے لاکھوں لوگ استعمال کرتے ہیں۔ سب سے مشہور پروگرامنگ تصورات میں سے ایک آبجیکٹ اورینٹڈ پروگرامنگ (OOP) ہے، جو دوبارہ قابل استعمال کوڈ لکھنے کے لیے اشیاء اور کلاسز کا استعمال کرتا ہے۔ یہ مضمون احاطہ کرتا ہے کہ OOP کیا ہے، اس کے فوائد، اور آیا C# اس کے ساتھ مطابقت رکھتا ہے۔

فہرست کا خانہ

آبجیکٹ اورینٹڈ پروگرامنگ (OOP) کیا ہے؟

آبجیکٹ اورینٹڈ پروگرامنگ (OOP) دوبارہ قابل استعمال، خود ساختہ اشیاء میں کوڈ بنانے اور ترتیب دینے پر توجہ مرکوز کرتا ہے۔ OOP میں، کلاسیں ایسی اشیاء بنانے کے لیے بلیو پرنٹس کے طور پر کام کرتی ہیں جن میں ڈیٹا اور رویہ دونوں ہوتے ہیں۔







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



OOP کے فوائد

پروگرامنگ میں OOP استعمال کرنے کے کئی فوائد ہیں، بشمول:



دوبارہ قابل استعمال: چونکہ اشیاء خود ساختہ ہیں اور متعدد ایپلی کیشنز میں دوبارہ استعمال کی جا سکتی ہیں، OOP کوڈ کو تیار کرنا اور برقرار رکھنا آسان بناتا ہے۔





ماڈیولرٹی: OOP انتہائی ماڈیولر کوڈ بنانے کی اجازت دیتا ہے، جو کیڑوں اور مسائل کی شناخت اور ان کو ٹھیک کرنا آسان بناتا ہے۔

توسیع پذیری: OOP کا استعمال کرتے ہوئے ہم کوڈ کو دوبارہ قابل استعمال اشیاء میں تقسیم کر سکتے ہیں جو کوڈ کی توسیع پذیری کو آسان بناتا ہے اور ہمیں زیادہ موثر اور قابل انتظام کوڈ بنانے کے قابل بناتا ہے۔



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

انکیپسولیشن: OOP ڈیٹا کی انکیپسولیشن کو قابل بناتا ہے، جو ڈیٹا کو غیر مجاز رسائی سے بچانے میں مدد کرتا ہے۔

وراثت: OOP ڈویلپرز کو ذیلی کلاسز بنانے کی اجازت دیتا ہے جو پیرنٹ کلاس پراپرٹیز لیتے ہیں، کوڈ ڈپلیکیشن کو کم کرتے ہیں اور کوڈ کے دوبارہ استعمال میں اضافہ کرتے ہیں۔

OOP کے اصول

OOP کے کئی کلیدی اصول ہیں جن کو سمجھنا ضروری ہے:

انکیپسولیشن: کسی کلاس کے اندر ڈیٹا اور طریقوں کو چھپانے کا عمل انہیں باہر کی مداخلت سے بچانے کے لیے۔

وراثت: اس سے مراد آبجیکٹ اورینٹڈ پروگرامنگ میں میکانزم ہے جہاں نئی ​​کلاسیں موجودہ کلاسوں سے اخذ کی جا سکتی ہیں، ان کی صفات اور طرز عمل کو حاصل کر کے۔

پولیمورفزم: پولیمورفزم آبجیکٹ پر مبنی پروگرامنگ میں ایک خصوصیت ہے جو اشیاء کو اس قابل بناتی ہے کہ وہ اس سیاق و سباق یا صورت حال کی بنیاد پر جس میں وہ استعمال کیے جاتے ہیں، متعدد شکلیں یا طرز عمل اختیار کر سکیں۔

تجری: پیچیدہ نظاموں کو چھوٹی، زیادہ قابل انتظام اشیاء میں لکھنے کا عمل، جس کے نتیجے میں کوڈ کی آسان اور سمجھنے میں آسانی ہوتی ہے۔

OOP کی اہم خصوصیات

OOP کی کئی اہم خصوصیات ہیں جن کو سمجھنا ضروری ہے:

کلاسز: اشیاء بنانے کے لیے بلیو پرنٹس، جس میں ڈیٹا اور طریقے ہوتے ہیں۔

اشیاء: کلاسز کی مثالیں جن میں ڈیٹا اور برتاؤ ہوتا ہے۔

طریقے: فنکشنز جو کسی شے کے اندر موجود ڈیٹا پر کام کرتے ہیں۔

خصوصیات: کسی شے کے ساتھ منسلک ڈیٹا کی قدریں۔

کیا C# OOP کے ساتھ مطابقت رکھتا ہے؟

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

C# ہمیں کلاسز، اشیاء اور انٹرفیس کی وضاحت کرنے کے ساتھ ساتھ ماڈیولر، دوبارہ قابل استعمال کوڈ بنانے کے لیے وراثت، انکیپسولیشن، پولیمورفزم، اور تجرید کا استعمال کرنے کی اجازت دیتا ہے۔

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

C# OOP کو کیسے نافذ کرتا ہے؟

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

C# وراثت کے استعمال کی بھی حمایت کرتا ہے، جس کا استعمال کرتے ہوئے ہم موجودہ کلاسوں کی خصوصیات لے کر نئی کلاسز کی وضاحت کر سکتے ہیں۔ اسی طرح، انٹرفیس کا استعمال کرتے ہوئے C# میں پولیمورفزم کی حمایت کی جاتی ہے۔

C# مثالی کوڈ جو OOP تصور کا استعمال کرتا ہے۔

یہاں ایک مثال ہے کہ کس طرح OOP کو C# میں استعمال کیا جاسکتا ہے۔

سسٹم کا استعمال کرتے ہوئے ;
عوامی طبقے کا جانور
{
عوامی مجازی باطل میک ساؤنڈ ( )
{
تسلی. رائٹ لائن ( 'جانور آواز دیتا ہے' ) ;
}
}

پبلک کلاس کتا : جانور
{
عوامی اوور رائڈ باطل میک ساؤنڈ ( )
{
تسلی. رائٹ لائن ( 'کتا بھونکتا ہے' ) ;
}
}

پبلک کلاس بلی : جانور
{
عوامی اوور رائڈ باطل میک ساؤنڈ ( )
{
تسلی. رائٹ لائن ( 'بلی میاؤں' ) ;
}
}

پبلک کلاس پروگرام
{
عوام جامد باطل مرکزی ( )
{
جانور جانور 1 = نیا کتا ( ) ;
جانور جانور 2 = نئی بلی ( ) ;

جانور1. میک ساؤنڈ ( ) ; // آؤٹ پٹ 'کتے کے بھونکتے ہیں'
جانور2. میک ساؤنڈ ( ) ; // آؤٹ پٹ 'دی بلی میاؤز'

تسلی. ریڈ لائن ( ) ; // کنسول ونڈو کو کھلا رکھتا ہے۔
}
}

کوڈ تین کلاسوں کی وضاحت سے شروع ہوا: جانور , کتا ، اور کیٹ . یہاں، جانور والدین کی کلاس ہے، اور کتا اور بلی ذیلی طبقات ہیں جو جانوروں کی کلاس سے خصوصیات لیتے ہیں۔ جانوروں کی کلاس میں ایک ورچوئل ہوتا ہے۔ میک ساؤنڈ طریقہ اس طریقہ کو Dog اور Cat کے ذریعے اوور رائڈ کیا جا سکتا ہے، جو کہ دو ذیلی طبقات ہیں۔

پھر ہم جانوروں کی دو مثالیں بناتے ہیں (جانور 1 اور جانور 2)، لیکن انہیں بالترتیب کتے اور بلی کی مثالوں پر تفویض کرتے ہیں۔ یہاں، جب میک ساؤنڈ طریقہ ہر جانور پر کہا جاتا ہے، ہم مناسب آواز کی پیداوار حاصل کرتے ہیں.

نتیجہ

آبجیکٹ اورینٹڈ پروگرامنگ (OOP) ایک مقبول پروگرامنگ تصور ہے جو کوڈ لکھنے کے لیے اشیاء اور ان کے تعاملات کا استعمال کرتا ہے۔ OOP کئی فوائد پیش کرتا ہے، بشمول ماڈیولریٹی، انکیپسولیشن، تجرید، اور وراثت۔ C# ایک پروگرامنگ لینگویج ہے جو OOP کو مکمل طور پر سپورٹ کرتی ہے اور اس میں OOP کے تمام کلیدی تصورات شامل ہیں، یہ OOP پروگرامنگ کے لیے ایک اچھا انتخاب ہے۔ OOP کو سمجھ کر اور یہ C# میں کیسے کام کرتا ہے، ہم ماڈیولر، دوبارہ قابل استعمال، اور برقرار رکھنے کے قابل کوڈ بنا سکتے ہیں۔