الفرق بين الفئات والهياكل

Anonim

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

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

ما هي الفصول الدراسية؟

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

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

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

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

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