شرح مفاهيم OOPS للمبتدئين

نشرت: 2022-12-20

يتمثل دور برامج الكمبيوتر في نمذجة متطلبات العالم الواقعي المعقدة بنجاح في تعليمات مفهومة بواسطة الكمبيوتر. لتحقيق ذلك ، تعمل العديد من نماذج البرمجة على فلسفات مختلفة. تتضمن هذه البرامج البرمجة الوظيفية ، البرمجة الإجرائية ، البرمجة الشيئية ، والمزيد. تختلف هذه النماذج بناءً على كيفية عملها ، وبالتالي فهي مستقلة عن اللغة.

في هذه المقالة ، سنلقي نظرة على البرمجة الشيئية بعمق. قبل أن ندخل في تعقيدات OOPS ، إليك بعض مفاهيم OOPs الرئيسية في Java والتي يجب أن تضعها في اعتبارك ، حيث إنها الركائز الأربع التي تعمل عليها OOPS:

  • التجريد
  • التغليف
  • ميراث
  • تعدد الأشكال

سنتحدث عن مفاهيم OOPs هذه بعمق في مرحلة لاحقة في هذه المقالة. لكن أولاً ، دعنا نفهم بالضبط ما هي البرمجة الشيئية.

جدول المحتويات

ما هي البرمجة الشيئية؟

قبل البرمجة الشيئية ، كانت البرمجة الوظيفية هي نموذج البرمجة السائد. اتبعت لغات مثل C و COBOL هذا النموذج ، لذلك كانت البرامج المكتوبة بهذه اللغات عبارة عن سلسلة من التعليمات. تستخدم هذه الإجراءات الفرعية أو الإجراءات للحفاظ على رموز المصدر معيارية وأكثر قابلية للقراءة. ركز نموذج البرمجة الوظيفية على المنطق أكثر من البيانات ، وسيجمع البرنامج بين البيانات والبرنامج.

انتقلت لغات البرمجة ، مثل C ++ و C # و Java وغير ذلك ، إلى نهج البرمجة الموجهة للكائنات بعد C. في الأساس ، الكائن هو أي شيء تريد تصميمه في برنامجك. يمكن أن يكون أي شيء وكل شيء. إذا بدا الأمر غامضًا في الوقت الحالي ، فالتزم به حتى النهاية ، وستفهم بالضبط ما نعنيه بهذا!

ما هي الفئات والكائنات؟

تعمل البرمجة الشيئية مع الفئات والكائنات. لذا ، من المهم أن نفهم ما يعنيه هذان المصطلحان وكيف يختلف كل منهما عن الآخر. ببساطة ، فكر في الفئات باعتبارها مخططًا يساعد في إنشاء الكائنات عند الحاجة إليها.

يتمثل دور الفصول في تحديد السمات والسلوكيات المختلفة. لذلك ، إذا أردنا تصميم سيارة في برنامجنا ، فسنصنع فئة للمركبة ونحتفظ بسمات مثل عدد العجلات واللون والطراز والعمر وما إلى ذلك ؛ في حين أن السلوكيات ستكون مثل البدء ، والتسارع ، والفرامل ، وما إلى ذلك. كما ترى ، فإن السمات والسلوك الذي حددناه ليس خاصًا بمركبة واحدة. وهي تشمل بشكل أساسي السلوك والسمات المختلفة عبر المركبات المختلفة. بهذه الطريقة ، عندما تريد إنشاء مثيل لكائن مركبة جديد ، يمكنك تحديد السمات لكل مركبة في السؤال. بهذه الطريقة ، تعمل الفئات كمخطط مثالي لإنشاء كائنات جديدة بنفس السمات والسلوكيات.

إذن ، هذا هو الشكل الذي ستبدو عليه سياراتنا المميزة وسماتها وسلوكياتها المختلفة. تذكر أننا استخدمنا بناء جملة Java لكتابة الشفرة ، لكن نموذج البرمجة محايد اللغة.

مركبة عامة {

سلسلة خاصة _color ؛

_model خاص ؛

سلسلة خاصة _makeYear؛

سلسلة خاصة _fuelType؛

بداية فارغة عامة () {}

تسريع الفراغ العام () {}

توقف عام باطل () {}

}

باستخدام الفئة المحددة ، يمكننا إنشاء كائنات مختلفة بسمات مختلفة مع وجود سلوكيات مشتركة. على سبيل المثال:

الكائن 1
نموذج ألتو
الوقود CNG
يجعلون 2018
بداية()

فترة راحة()

تسريع ()

الكائن 2
نموذج عربة آر
الوقود بنزين
يجعلون 2017
بداية()

فترة راحة()

تسريع ()

بهذه الطريقة ، يمكن أن تساعدك Classes in Object Oriented Programming في تبسيط نمذجة السلوكيات والأنظمة المعقدة في العالم الحقيقي. ترتبط جميع البيانات والسمات والوظائف بكائن أي فئة. بهذه الطريقة ، يتم التخلص من الحاجة إلى الاحتفاظ بأي بيانات عالمية. هذا فرق مهم بين مناهج البرمجة الإجرائية و البرمجة الشيئية.

بعد تثبيت الأساسيات ، دعنا نلقي نظرة عميقة على الركائز الأربعة للبرمجة الموجهة للكائنات:

احصل على شهادة علوم البيانات من أفضل الجامعات في العالم. تعلم برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

التجريد

يتعلق التجريد بالتركيز على ما يتم بدلاً من كيفية تنفيذ المهمة. الفكرة الكاملة وراء التجريد هي المساعدة في بناء وحدات مستقلة يمكن جعلها تتفاعل مع بعضها البعض دون الاعتماد على بعضها البعض. بهذه الطريقة ، تصبح صيانة البرنامج أسهل وأكثر قابلية للإدارة. مع التجريد ، تحاول OOPs تمثيل الميزات الأساسية فقط دون الخوض في كيفية تنفيذ هذه الميزات أو كيفية عمل الأجزاء الداخلية للنظام.

الفكرة وراء أحد أهم مفاهيم OOPS في Python هي أن المبرمجين يحتاجون إلى التركيز فقط على الأشياء التي تهم الوحدة الحالية مباشرة. يجب ألا يؤثر تعديل وحدة واحدة بشكل مباشر على الوحدات المستقلة الأخرى. يحتاج المبرمج فقط إلى معرفة الوحدة الحالية وما يقدمه. ليست هناك حاجة كبيرة لفهم أساليب العمل الأساسية للوحدة لتحقيق ما هو مطلوب ؛ لذلك ، يتم تلخيص هذه المعلومات للحصول على أفضل النتائج.

إذا أخذت فكرة التجريد إلى ما هو أبعد من البرمجة ، فسوف تدرك أن التجريد ، في جوهره ، موجود في كل مكان. الأشياء التي نتعامل معها يوميًا مستخرجة منا على مستويات مختلفة. على سبيل المثال ، لا نعرف كيف تعمل الأجزاء الداخلية لمكابح السيارة ، ولكن تم تزويدنا بدواسة لاستخدام الفرامل أثناء تجريد الآلية خلف الستائر. بهذه الطريقة ، لا داعي للقلق بشأن كيفية عملها ؛ تحتاج فقط إلى الضغط على الدواسة.

التغليف

يرتبط مفهوم التغليف ارتباطًا وثيقًا بالمفهوم السابق للتجريد. يتعلق التغليف ، في جوهره ، بتوفير حل لمشكلة ما دون مطالبة المستخدم النهائي بفهم مجال المشكلة بالكامل. للقيام بذلك ، يربط التغليف جميع البيانات والسلوك معًا كوحدة واحدة. بهذه الطريقة ، يُمنع المستخدم النهائي من معرفة العناصر الداخلية حيثما يتم تنفيذ التجريد.

لا يمكن للمستخدم الوصول إلى البيانات مباشرة ويستخدم الوظائف المكشوفة للوصول إلى البيانات عند الحاجة. من خلال إخفاء العناصر الداخلية للكائن ، يحمي نموذج برمجة OOPS سلامة الوحدات النمطية ولا يسمح للمستخدمين بتعيين البيانات الداخلية في حالة غير متسقة. إذا لم يتم القيام بذلك ، فقد يتسبب ذلك في العديد من المشكلات على المدى الطويل. وبهذه الطريقة ، فإن التغليف يتعلق أكثر بفضح التعقيد بطريقة مقاومة للفشل وليس حول إخفاء التعقيد تمامًا.

ميراث

الوراثة هي سمة قوية أخرى لنموذج البرمجة الشيئية. يتمثل دور الوراثة في ترتيب وتنظيم الفئات بكفاءة وسرعة في تسلسل هرمي لتمكين هذه الفئات من وراثة السلوك والسمات من الفئات الموجودة أعلاه في التسلسل الهرمي. من حيث الجوهر ، يمكن فهم الوراثة على أنها "علاقة" ، والتي تشبه إلى حد بعيد الطريقة التي نتحدث بها عن الأشياء في العالم الحقيقي.

على سبيل المثال ، نقول أن "الببغاء طائر". هذا يعني أن الببغاء هو كائن من طائر الطبقة ، وبالتالي فهو يرث بعض الصفات والسلوكيات من الطبقة الأوسع. ومع ذلك ، لن يكون هذا صحيحًا إذا قلنا أن البنك هو حساب مصرفي. هذه هي الطريقة التي يعمل بها التسلسل الهرمي في الوراثة ، ويتيح لك تحديد السلوكيات والتطبيقات التي يمكن تخصيصها لاحقًا للفئات المتخصصة. ضع في اعتبارك أن الوراثة لا تعمل للخلف. لذلك ، لن ترث فئة الوالدين أي شيء من فئة الأطفال. ومع ذلك ، ترث الفئات الفرعية كلاً من السمات والسلوكيات من فصول الوالدين ، اعتمادًا على طبيعة تلك السمات والسلوكيات (عامة أو خاصة). الوراثة هي طريقة لإعادة استخدام برنامجك ويمكن أن تساعدك في جعل شفرة المصدر بالكامل أقصر وأكثر قابلية للفهم. لكن يجب أن تتذكر أنه لا يجب عليك إضافة مستويات بعد مستويات الوراثة إذا لم تكن هناك حاجة إليها.

تحقق من برامجنا في الولايات المتحدة - علوم البيانات

برنامج الشهادة المهنية في علوم البيانات وتحليلات الأعمال ماجستير العلوم في علوم البيانات ماجستير العلوم في علوم البيانات برنامج الشهادة المتقدمة في علوم البيانات
برنامج PG التنفيذي في علوم البيانات المعسكر التدريبي لبرمجة بايثون برنامج الشهادة المهنية في علوم البيانات لاتخاذ قرارات الأعمال برنامج متقدم في علوم البيانات

تعدد الأشكال

تعد تعدد الأشكال واحدة من العديد من مفاهيم OOPS المهمة في Python و Java ، والتي تهتم بشكل أساسي بالعديد من التطبيقات الممكنة المختلفة لأي وحدات قابلة للتنفيذ وجميع الاختلافات الدقيقة التي تحدث في الخلفية دون جعل المستخدم على دراية بهذه التغييرات. تعدد الأشكال يجعل من السهل توسيع برامج الكمبيوتر بأشياء متخصصة دون أي صعوبة.

على سبيل المثال ، إذا كنت ترغب في كتابة جزء من النص على الورق - يمكنك استخدام قلم أو قلم تحديد أو قلم تلوين أو حتى قلم رصاص. كل ما تحتاجه هو شيء يمكن أن يلائم يدك ويساعدك على صنع الرموز أثناء الضغط عليه على ورقة. لذا ، فإن عملية الكتابة ستساعدك على عمل رموز على الورق ، في حين أن الأداة التي تحتاجها تعتمد على اختيارك.

وبهذا المعنى ، فإن الوراثة هي وسيلة للبرنامج لتحقيق تعدد الأشكال ، حيث يؤدي التنفيذ المخصص للطريقة إلى الكتابة فوق السلوك المحدد في الفئة الموروثة. تُعرف هذه العملية أيضًا باسم تعدد الأشكال في وقت التشغيل أو تجاوز الطريقة. هناك شكل آخر من أشكال تعدد الأشكال ، يُعرف أيضًا باسم طريقة التحميل الزائد. في ذلك ، الميراث لا يأتي في الصورة على الإطلاق. في طريقة التحميل الزائد ، يتم الاحتفاظ باسم الطريقة كما هي ، بينما تختلف الوسائط في الطريقة بناءً على المهمة التي سيتم تنفيذها.

ختاماً

مع ذلك ، نصل إلى نهاية مناقشتنا حول مفاهيم OOPS في Java . وضعت الأشياء التي تمت مناقشتها حتى الآن كل الأساس الذي تحتاجه للبدء في البرمجة الشيئية دون القلق بشأن أي شيء. يجب عليك تنفيذ المناقشة وتجربة الأشياء بشكل عملي ؛ بعد كل شيء ، البرمجة تدور حول الممارسة والمثابرة.

ستساعدك معرفة OOPS في رحلة علم البيانات أيضًا ، حيث ستستخدم لغات مثل Python ، التي تعتمد على نموذج OOPS. علم البيانات مجال مزدهر ، ولا توجد ندرة في الفرص للأشخاص ذوي المهارات والمعرفة المناسبة. تحقق من MS في علوم البيانات من upGrad ، بالتعاون مع جامعة أريزونا ، واحصل على فرصة للتعلم من خبراء الصناعة جنبًا إلى جنب مع شبكة قوية من الخريجين التي ستساعدك طوال حياتك المهنية.

ما هي المفاهيم الأربعة لـ OOPS؟

المفاهيم الأساسية الأربعة لـ OOPS هي التجريد والتغليف والوراثة وتعدد الأشكال.

كيف تختلف الفئات والأشياء؟

الفئات هي مخططات الظواهر التي سيتم نمذجتها. الكائنات ، من ناحية أخرى ، هي حالات خاصة للفئات التي تستعير السلوك والسمات من الفئة التي يتم إنشاء مثيل لها منها.

ما هي اللغة التي تعمل بها OOPS؟

OOPS هي فلسفة برمجة محايدة اللغة. يمكنك العمل على OOPS باستخدام أي لغة برمجة حديثة مثل C ++ و Java و Python و Ruby وما إلى ذلك.