فصول مقابل الهياكل

بعض المفاهيم الرئيسية للغات البرمجة للكائن الموجه (OO) هي التغليف والميراث وتعدد الأشكال. Class and Structure هما من أدوات / أدوات OO ، التي تساعد المبرمجين على تحقيق هذه المفاهيم في معظم لغات برمجة OO الخارجة (Java لا توفر بنى). الطبقات هي تمثيل تجريدي لكائنات العالم الحقيقي. الهياكل تشبه إلى حد بعيد الفئات ذات الاستخدام المماثل ، ولكن لها قيود قليلة مقارنة بالفئات. يتم استخدام كل من الفئات والبنية لتجميع نوع مماثل من البيانات ، معًا.

ما هي الفصول؟

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

ما هي الهياكل؟

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

ما هو الفرق بين الطبقات والهياكل؟

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