الإعلانات

إذا فعلت بعض برمجة المبتدئين، أو حتى بدأت في النظر إلى لغات مختلفة ، ربما صادفت عبارة "البرمجة الشيئية" (أو "OOP").

هناك كل أنواع التفسيرات التقنية لما هي عليه ، لكننا سنلقي نظرة اليوم على تعريف البرمجة الشيئية بطريقة بسيطة.

قبل أن نبدأ: اللغات الإجرائية

لفهم ماهية لغة البرمجة الشيئية ، عليك أن تفهم ما حل محلها. كانت لغات البرمجة المبكرة إجرائية - سميت لأن المبرمج سيحدد مجموعة محددة جدًا من الإجراءات التي سيجريها الكمبيوتر.

ما هي البرمجة الشيئية وكيفية البدء في تعلمها

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

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

هدف البرمجة الكينونية

إذن ، ما هي البرمجة الشيئية؟

قدمت أول لغة موجهة للكائنات (متفق عليها عمومًا لتكون Simula) فكرة شاء. الكائنات هي مجموعات من المعلومات يتم التعامل معها على أنها كيان واحد.

سنتعمق أكثر في ما يعنيه ذلك بالفعل في ثانية بمثال ، ولكن علينا أولاً أن نتحدث عنه

instagram viewer
الطبقات. الطبقات هي مثل الكائنات المسبقة. وهي تحتوي على قائمة السمات التي تصبح ، عند تعريفها ، كائنًا.

ما هي البرمجة الشيئية وكيفية البدء في تعلمها

لنأخذ مثال برمجة لعبة الشطرنج. قد يكون لدينا فئة تسمى قطعة. داخل قطعة ، لدينا قائمة السمات:

  • اللون
  • ارتفاع
  • شكل
  • سمحت الحركة

يعرّف الكائن ببساطة حالة معينة من شيء ينتمي إلى تلك الفئة.

لذلك يمكن أن يكون لدينا كائن يسمى WhiteQueen. سيكون لهذا الكائن تعريفات لجميع السمات الأربعة (أبيض ، طويل ، أسطواني مع crenellations ، أي عدد من المسافات في أي اتجاه). قد يكون لها أيضا الأساليب أو الوظائف.

ما الذي يجعل هذا أفضل بكثير من النهج الإجرائي؟

باختصار لغات البرمجة الشيئية (مثل جافا) يسهل تنظيم البيانات والتعليمات البرمجية بطريقة أكثر تنوعًا في المشروعات الكبيرة.

لمناقشة الأمر بمزيد من التفاصيل ، سنتحدث عن الأساسيات الأربعة للبرمجة الشيئية.

البرمجة الكينونية: التجريد

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

ما هي البرمجة الشيئية وكيفية البدء في تعلمها

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

لكنك لست بحاجة لمعرفة ذلك. كل ما تحتاج إلى معرفته هو أنه عندما تطلب من القطعة التحرك ، فإنها تتحرك. هذا هو التجريد.

البرمجة الكينونية: التغليف

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

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

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

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

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

البرمجة الشيئية: الوراثة

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

في لعبة الشطرنج لدينا ، تحتاج قطع البيدق إلى طريقة يمكنها تحويلها إلى قطع أخرى إذا وصلت إلى نهاية اللوحة. نسميها طريقة convertPiece ().

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

ولكنها تتضمن أيضًا طريقة convertPiece (). الآن لا داعي للقلق بشأن استخدام هذه الوظيفة عن طريق الخطأ على الرخ. إليك شرح تقني:

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

البرمجة الكينونية: تعدد الأشكال

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

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

الآن ، عندما يستدعي المبرمج طريقة move () ويستخدم قطعة كوسيطة ، سيعرف البرنامج بالضبط كيف يجب أن تتحرك القطعة. هذا يوفر الكثير من الوقت على محاولة معرفة أي من الطرق المختلفة التي يجب عليك استخدامها.

البرمجة الكينونية بإيجاز

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

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

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

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

دان هي إستراتيجية المحتوى واستشاري التسويق الذي يساعد الشركات على توليد الطلب والعملاء المحتملين. كما يكتب عن الاستراتيجية وتسويق المحتوى في dannalbright.com.