القائمة الرئيسية

الصفحات

كل ما تريد معرفته عن البرمجة الشيئية "OOP"

Class،Methods،Attributes،Objects،The Principles of Object OrientedProgramming،Abstraction،Encapsulation،Inheritance،Polymorphism،What Is،Object Oriented Programming،What Is Object Oriented،Programming،What Is Object Oriented Programming،ما هي البرمجة الشيئية ؟،كل ما تريد معرفته عن  البرمجة الشيئية OOP،كل ما تريد معرفته عن  البرمجة الشيئية "OOP"،



كل ما تريد معرفته عن  البرمجة الشيئية "OOP"



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

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

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

مزايا البرمجة الشيئية (OOP) 


إذن كيف تساعدك البرمجة الشيئية في كتابة برنامج أفضل؟
1- يقلل OOP من تعقيد قاعدة التعليمات البرمجية الخاصة بك.
2- يساعدك على التعبير عن الكود الخاص بك بوضوح ، مما يجعله أكثر قابلية للقراءة للآخرين.
3- عادةً ما تكون البرامج المكتوبة بلغة OOP أكثر قابلية للتوسع.
4- يسهل اختبار الكود وتصحيح الأخطاء.
5- يلغي OOP تكرار الكود ، ويؤسس مبدأ DRY (لا تكرر نفسك).
6- غالبًا ما يكون كود OOP أكثر نمطية ، مما يشجع على فصل الاهتمامات.
7- تكوين الفئة والوراثة تجعل الكود الخاص بك أكثر قابلية لإعادة الاستخدام.
8- يحسن التجريد أمان قاعدة التعليمات البرمجية.

عيوب البرمجة الشيئية (OOP)


في حين أن مزايا OOP تفوق سلبياتها ، إلا أن الأخير لا يزال يستحق المناقشة:
1- يمكن أن يكون أبطأ من البرمجة الوظيفية.
2- OOP لديه منحنى تعليمي حاد.
3- تزداد مجلدات وملفات البرنامج النصي مع زيادة حجم التطبيق.

هيكل البرمجة الشيئية (OOP) 


يدور OOP حول بنية صارمة. إليك بعض المصطلحات التي ستعرفها:

1- Class
الفئة عبارة عن مجموعة من التعليمات البرمجية المقدمة كبيانات تؤدي إجراءات مماثلة.
 يمكنك عرض فئة كمعالج كائن نظرًا لأنك تستخدم واحدًا لإنشاء مثيل للكائنات.

2- Methods
تحدد الطرق كيف يحقق الفصل مهامه. يمكن للفصل أن يحتوي على طريقة واحدة أو أكثر.
 يمكنك عرض الطرق كطرق يشارك فيها الفصل في المسؤوليات داخل نفسه.

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

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

4- Objects
ببساطة ، الكائن هو مثيل لفئة. عند إنشاء فئة ، سيستخدم الكائن الناتج الفئة كمخطط لسماتها وأساليبها.






مبادئ البرمجة الشيئية OOP

تقدم البرمجة الموجهة للكائنات بعض المبادئ إلى جدول البرمجة.
 كل من هذه يعطيها السبق على البرمجة التقليدية:

1- Abstraction

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

class_instance.convert_gram()

حيث يكون class_instance هو كائنك ، و convert_gram هو طريقة لفئة المحول.

2- Encapsulation

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

3- Inheritance

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

4- Polymorphism تعدد الأشكال

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


مقالات ذات صلة :




OOP مقابل البرمجة الوظيفية

تحظى OOP بشعبية كبيرة ، لكن المبرمجين لا يزالون يستخدمون العديد من
 نماذج البرمجة الأخرى ، اعتمادًا على احتياجاتهم. تختلف البرمجة الوظيفية تمامًا عن OOP:
1- البرمجة الوظيفية تتعامل مع التعليمات في وظائف مخصصة. 
من ناحية أخرى ، يقدم OOP الإرشادات كبيانات مخزنة في الكائنات.
2- في البرمجة الوظيفية الحقيقية ، يكون ناتج الوظيفة دائمًا هو نفسه وغير قابل للتغيير.
 يسمح OOP بتعدد الأشكال ، والبيانات التي يتم إرجاعها قابلة للتغيير في الفئات الأخرى.
3- OOP أكثر قابلية للتوسع حيث يمكنك بسهولة توسيع الكائنات.
4- يجعل التجريد OOP أكثر أمانًا لأن الشخص الخارجي لا يعرف الإجراءات وراء الكواليس. 
يمكن أن تكشف البرمجة الوظيفية عن بعض الطبقات.
5- على الرغم من أن OOP يمكن أن يكون معقدًا ، إلا أنه أكثر قابلية للصيانة من البرمجة الوظيفية. 
لا تزال البرمجة الوظيفية تحتفظ ببعض السمات الإجرائية.
6- يمكن أن تكون البرمجة الوظيفية أسرع منذ وصول البرامج إلى التعليمات
 دون مراعاة التسلسل الهرمي للكائنات. يعد التسلسل الهرمي للكائن ضروريًا 
عند العمل مع البرامج الموجهة للكائنات.

حان الوقت لتكون كائني التوجه 

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



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