OOP اور POP کے مابین فرق

مصنف: Laura McKinney
تخلیق کی تاریخ: 2 اپریل 2021
تازہ کاری کی تاریخ: 13 مئی 2024
Anonim
POP اور OOP کے درمیان فرق | POP بمقابلہ OOP | کوڈنگ سیکھیں۔
ویڈیو: POP اور OOP کے درمیان فرق | POP بمقابلہ OOP | کوڈنگ سیکھیں۔

مواد


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

بڑے پروگراموں میں زیادہ کیڑے پیدا ہوجاتے ہیں ، اور اس سے ڈیبگنگ کا وقت بڑھ جاتا ہے۔ یہ ساری خامیاں ایک نئی نقطہ نظر کا باعث بنی ہیں ، یعنی "آبجیکٹ پر مبنی پروگرامنگ"۔ آبجیکٹ پر مبنی پروگرامنگ میں بنیادی فکر "پر دی جاتی ہے۔ڈیٹا کی حفاظت’؛ یہ اعداد و شمار کو اس پر کام کرنے والے افعال سے قریب سے باندھتا ہے۔ یہ ‘کے مسئلے کو بھی حل کرتی ہے۔کوڈ دوبارہ پریوست’، گویا ایک کلاس تشکیل دیا گیا ہے ، اس کی متعدد مثالوں (اشیاء) تخلیق کی جاسکتی ہیں جو کلاس کے ذریعہ بیان کردہ ممبروں اور ممبران کے افعال کو مسترد کرتی ہے۔


کچھ دوسرے اختلافات بھی ہیں جن کی وضاحت کے چارٹ کی مدد سے وضاحت کی جاسکتی ہے۔

    1. موازنہ چارٹ
    2. تعریف
    3. کلیدی اختلافات
    4. فوائد
    5. نقصانات
    6. نتیجہ اخذ کرنا


موازنہ چارٹ

موازنہ کے لئے بنیادپی او پیاو او پی
بنیادی
عمل / ساخت پر مبنی
مقصد کا تعین کرنا.
اپروچ اپر سے نیچے.نیچے۔
بنیادمرکزی کام "کام کو کیسے انجام دیا جائے" یعنی کسی پروگرام کے طریقہ کار یا ڈھانچے پر ہے۔مرکزی توجہ ڈیٹا سیکیورٹی پر ہے۔ لہذا ، صرف اشیاء کو کلاس کے اداروں تک رسائی کی اجازت ہے۔
ڈویژنبڑے پروگرام کو اکائیوں میں تقسیم کیا جاتا ہے جسے فنکشن کہتے ہیں۔پورا پروگرام اشیاء میں تقسیم ہے۔
ہستی تک رسائی موڈرسائی تک رسائی کرنے والا کوئی مشاہدہ نہیں کیا گیا۔
رسائی کی وضاحت کنندہ "عوامی" ، "نجی" ، "محفوظ" ہیں۔
اوورلوڈنگ / پولیورفارمنہ تو یہ اوورلوڈ کام کرتا ہے اور نہ ہی آپریٹرز۔یہ افعال ، تعمیر کاروں اور آپریٹرز کو اوورلوڈ کرتا ہے۔
وراثتان کا وراثت کا کوئی بندوبست نہیں ہے۔وراثت تین طریقوں سے حاصل کی گئی نجی نجی اور محفوظ۔
ڈیٹا کو چھپانے اور سیکیورٹیڈیٹا کو چھپانے کا کوئی مناسب طریقہ نہیں ہے ، لہذا ڈیٹا غیر محفوظ ہے ڈیٹا کو عوامی ، نجی اور محفوظ تین طریقوں میں چھپایا گیا ہے۔ لہذا ڈیٹا سیکیورٹی میں اضافہ ہوتا ہے۔
ڈیٹا شیئرنگپروگرام میں موجود کاموں کے مابین عالمی اعداد و شمار شیئر کیے گئے ہیں۔اعداد و شمار کو ممبر افعال کے ذریعہ اشیاء کے درمیان بانٹ دیا جاتا ہے۔
دوست افعال / کلاسیںدوست فنکشن کا کوئی تصور نہیں۔کلاسز یا فنکشن "دوست" کلیدی لفظ کے ساتھ کسی اور کلاس کا دوست بن سکتا ہے۔
نوٹ: "دوست" مطلوبہ الفاظ صرف c ++ میں استعمال ہوتا ہے
ورچوئل کلاس / فنکشنورچوئل کلاسوں کا کوئی تصور نہیں۔ورثہ کے دوران ورچوئل فنکشن کا تصور ظاہر ہوتا ہے۔
مثال سی ، وی بی ، فورٹرین ، پاسکلC ++، جاوا، VB.NET، C # .NET.


آبجیکٹ پر مبنی پروگرامنگ (OOP) کی تعریف

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

او او پی کو "آبجیکٹ" ، "کلاسز" ، "ڈیٹا انکپولیشن یا تجریدی" ، "وراثت" ، اور "پولیمورفزم / اوورلوڈنگ" کے بنیادی تصور پر تیار کیا گیا ہے۔ او او پی میں ، اعداد و شمار اور افعال کو تقسیم کرکے پروگراموں کو ماڈیول میں تقسیم کیا جاسکتا ہے ، جن کو مزید ضرورت ہو تو ماڈیول کی نئی کاپیاں بنانے کے نمونے کے طور پر استعمال کیا جاسکتا ہے۔ لہذا ، یہ ایک ایسا نقطہ نظر ہے جو اعداد و شمار اور افعال کے لئے منقسم میموری کی جگہ تعمیر کرکے پروگراموں کو ماڈیولرائز کرنے میں سہولت فراہم کرتا ہے۔

آبجیکٹ پر مبنی تصورات

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

طریقہ کار پر مبنی پروگرامنگ (پی او پی) کی تعریف

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

پی او پی کی خصوصیات

  • کسی پروگرام کو ڈیزائن کرتے وقت ، پی او پی اوپر سے نیچے پروگرامنگ کے طریقہ کار کی پیروی کرتی ہے۔
  • زیادہ تر افعال عالمی ڈیٹا کو شیئر کرنے کی اجازت دیتے ہیں۔
  • یہ بڑے پروگراموں کو چھوٹے حصوں میں بھی تقسیم کرتا ہے جس کو افعال کہتے ہیں۔
  • یہ سسٹم کے افعال سے افعال تک ڈیٹا کی مفت نقل و حرکت کی اجازت دیتا ہے۔
  • ڈیٹا کو افعال کے ذریعہ ایک شکل سے دوسری شکل میں تبدیل کیا جاتا ہے۔
  • یہ افعال کے تصور کو اہمیت دیتا ہے۔
  1. پی او پی ایک طریقہ کار پر مبنی پروگرامنگ ہے جبکہ ، او او پی مقصد پر مبنی پروگرامنگ ہے۔
  2. پی او پی کی اصل توجہ "کام کیسے انجام دیا جائے"یہ کام انجام دینے کے ل the فلو چارٹ کی پیروی کرتا ہے۔ OOP کی مرکزی توجہ مرکوز ہے ڈیٹا کی حفاظت چونکہ صرف کلاس کی اشیاء کو ہی کلاس کی خصوصیات یا فنکشن تک رسائی حاصل کرنے کی اجازت ہے۔
  3. افعال بڑے پروگراموں یا ایک ذیلی پروگرام کی چھوٹی یونٹ ہیں جو کام کو انجام دینے کے لute چلاتی ہیں۔ اس کے برعکس ، طبقے کے او او پی اوصاف اور افعال کو درمیان میں تقسیم کیا گیا ہے اشیاء.
  4. پی او پی میں ، پروگرام میں صفات یا افعال تک رسائی کے ل access کوئی خاص رسائی حاصل کرنے کا موڈ نہیں ہے۔ اس کے برعکس ، او او پی میں ، "عوامی" ، "نجی" ، "محفوظ" تک رسائی کے تین طریقے ہیں ، جو اوصاف یا افعال تک رسائی کے ل to رسائی کے طریقہ کار کے طور پر استعمال ہوتے ہیں۔
  5. پی او پی اوور لوڈنگ / پولیمورفزم کے تصور کی حمایت نہیں کرتا ہے۔ اس کے برعکس ، او او پی اوورلوڈنگ / پولیمورفزم کی حمایت کرتا ہے ، جس کا مطلب ہے مختلف افعال انجام دینے کے لئے ایک ہی فنکشن کا نام استعمال کرنا۔ ہم او او پی میں افعال ، کنسٹرکٹر اور آپریٹرز کو اوورلوڈ کرسکتے ہیں۔
  6. پی او پی میں وراثت کا کوئی تصور نہیں ہے جبکہ او او پی وراثت کی حمایت کرتا ہے جو وراثت میں دوسرے طبقے کے وصف اور افعال کو استعمال کرنے کی اجازت دیتا ہے۔
  7. او او پی کے مقابلے میں پی او پی کم محفوظ نہیں ہے کیونکہ او او پی میں رسائی کی وضاحت کرنے والے اوصاف یا افعال تک رسائی کو محدود کرتی ہے جس سے سیکیورٹی میں اضافہ ہوتا ہے۔
  8. پی او پی میں اگر پروگرام میں موجود تمام افعال میں کچھ ڈیٹا شیئر کرنا ہے تو ، اسے عالمی سطح پر تمام افعال سے باہر قرار دیا جاتا ہے۔ جبکہ او او پی میں کلاس کے ممبران کے ذریعہ کلاس کے ڈیٹا ممبر تک رسائی حاصل کی جاسکتی ہے۔
  9. پی او پی میں فرینڈ فنکشن کا کوئی تصور نہیں ہے۔ اس کے برعکس ، او او پی میں فرینڈ فنکشن کا تصور موجود ہے جو کلاس کا ممبر نہیں ہے ، لیکن کیونکہ یہ فرینڈ ممبر ہے اس سے کلاس کے ڈیٹا ممبر اور ممبر افعال تک رسائی حاصل ہوسکتی ہے۔
  10. پی او پی میں ورچوئل کلاسوں کا کوئی تصور نہیں ہے جبکہ او او پی میں ، ورچوئل فنکشنز کثیر المثالثی کی حمایت کرتے ہیں۔

فوائد

پی او پی (ضابطہ اورینٹڈ پروگرامنگ)

  • ایک ہی کوڈ کو مختلف مقامات پر دوبارہ استعمال کرنے کی صلاحیت فراہم کرتا ہے۔
  • پروگرام کے بہاؤ سے باخبر رہنے میں سہولیات۔
  • ماڈیولز کی تعمیر کے قابل

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

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

نقصانات

پی او پی (ضابطہ اورینٹڈ پروگرامنگ)

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

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

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

نتیجہ اخذ کرنا

پی او پی کی خامیوں سے او او پی کی ضرورت پیدا ہوتی ہے۔ OOP "آبجیکٹ" اور "کلاسز" کے تصور کو متعارف کراتے ہوئے POP کی خامیوں کو دور کرتا ہے۔ اس سے اعداد و شمار کی حفاظت اور خود کار طریقے سے ابتداء اور اشیاء کو صاف کرنا بہتر ہے۔ OOP بغیر کسی مداخلت کے آبجیکٹ کی متعدد مثالیں بنانا ممکن بناتا ہے۔