تحدد كل من Class و Interface شكل الكائن وأيضًا سلوك الكائن. إذا درسنا كلا الهيكلين وفهمناهما جيدًا ، فسيكون من الأسهل التعامل مع البرمجة.
هما الهيكلان الأساسيان في لغة البرمجة الشيئية. كما أن الفهم الأفضل سيعزز جودة الترميز لدينا وتجربة المطور.
الوجبات السريعة الرئيسية
- تحدد الفئات تفاصيل التنفيذ لكائن ما ، بينما تحدد الواجهات فقط الأساليب التي يجب أن ينفذها الكائن.
- يمكن للفئة أن ترث من واجهات متعددة ولكن فئة أصل واحدة فقط.
- تؤكد الواجهات على إعادة استخدام الكود وتجريده ، بينما تركز الفصول على التنفيذ الملموس.
الطبقة مقابل الواجهة
لا تدعم الفئة الميراث المتعدد ولكنها مدعومة بالوراثة. للإعلان عن فئة ، يمكنك استخدام الكلمة الأساسية "Class" ، ومع ذلك ، من أجل إعلان واجهة ، يتم استخدام كلمة أساسية تسمى "واجهة". يمكن إنشاء مثيل للفئة ولكن لا يمكن للواجهة. يحتوي الفصل على معلمين ، والواجهة لا تفعل ذلك.
الطبقة هي بنية أساسية في برنامج يتم من خلاله إنشاء الكائنات. تنتمي الفئة نفسها إلى حزم معينة تحتوي على مجموعة متطابقة من الحزم معبأة معًا.
يحتوي إعلان الفئة على كلمات أساسية ومعدلات واسم فئة.
يمكن تصنيف الفصل إلى فئتين:
أنا. فصول مدمجة
ثانيا. الفئات المعرفة من قبل المستخدم
تم تقديم فكرة الواجهة لتطبيق فئات متعددة في وقت واحد.
يحتوي على تعريف طريقة البرنامج. لا يقتصر الأمر على الأساليب المجردة فحسب ، بل يمكن للواجهة أيضًا أن تحتوي على طرق ثابتة.
يتم الإعلان عنها دائمًا على أنها عامة بشكل افتراضي.
جدول المقارنة
معلمات المقارنة | مبوبة | السطح البيني |
---|---|---|
تعريف | يصف الفصل بشكل أساسي سلوك كائن ما ويحدده | تحتوي الواجهة بشكل أساسي على السمات والسلوك المحدد بواسطة فئة |
البحث عن كلمة | يتم استخدام الكلمة الأساسية "class" للإعلان عن فئة | يتم استخدام الكلمة الأساسية "واجهة" للإعلان عن واجهة |
طرق | يُسمح للفصل أن يكون له طرق مجردة ومحددة. هذا يعني أن الطريقة يمكن أن يكون لها جسم | يمكن أن تحتوي الواجهة على طرق مجردة فقط. هذا يعني أن الطريقة لا يمكن أن يكون لها جسم |
محدد الوصول | يمكن أن يكون الأعضاء في الفصل إما عامًا أو محميًا أو افتراضيًا | جميع أعضاء الواجهة ، بشكل افتراضي ، عامة |
وراثة | فئة لا تدعم الميراث المتعدد. يستخدم الكلمة الأساسية تمتد لترث فئة أخرى | واجهة تدعم الميراث المتعدد. ومع ذلك ، يمكنه أن يرث واجهة فقط |
ما هو الفصل؟
الفئة هي مخطط أو خطة يتم من خلالها إنشاء الكائنات. إنها مجموعة من الكائنات لها خصائص متشابهة. إنه كيان منطقي ولا يمكن أن يكون ماديًا. يبدأ اسم الفئة بشكل تقليدي بحرف كبير.
إنه المفهوم الأساسي للبرمجة الشيئية. يحدد سلوك الكائن. يمكن أن يكون لها أي عدد من الطرق ويمكنها الوصول إلى قيمها.
يمكن للفصل أن يحتوي على النوع التالي من المتغيرات:
متغير محلي ومتغير حالة ومتغير فئة.
صيغة الفصل كما يلي:
فصل {
حقل؛
طريقة؛
}
لإنشاء كائن ضمن فئة ، نحتاج إلى استخدام الكلمة الأساسية المعروفة باسم "جديد" ، جنبًا إلى جنب مع ملف منشئ. A منشئ له نفس اسم فئة. وظيفتها مشابهة لطريقة ما.
على سبيل المثال ، إذا كان اسم الفئة هو Program ، فإن المُنشئ هو Program (). للوصول إلى أعضاء الفصل ، نحتاج إلى استخدام اسم الكائن مع الفئة.
ما هي الواجهة؟
يتم تعريف الواجهة على أنها مجموعة من الأساليب المتشابهة ولكن بأجسام فارغة.
عندما نطبق واجهة ، فإنه يجعل الفصل أكثر ملاءمة. وهذا بدوره يجعل سلوك الفصل أكثر رسمية. إنه عقد يتم فرضه من قبل المترجم والذي يربط الفصل بالعالم الخارجي.
قبل أن يتم تجميع فئة بنجاح ، يجب أن تظهر الطرق المحددة بواسطة الواجهة في الكود المصدري. لتجميع فصل دراسي ، نحتاج إلى إضافة الكلمة الأساسية العامة في البداية. لا يمكن أن يكون هناك متغيرات وطرق خاصة.
وهي تشتمل على طرق مجردة وكذلك ثابتة ثابت. لا يمكن أن تحتوي الواجهة على أي نص للطريقة. يتم استخدامه لتحقيق وراثة متعددة في البرنامج.
يمكن تقديم الأساليب الافتراضية والثابتة في الواجهة. أيضًا ، يمكن أن يكون لدينا طرق خاصة في الواجهة. يتم استخدامه لتحقيق التجريد.
الاختلافات الرئيسية بين الفئة والواجهة
- في الفصل ، يتم استخدام الكلمة الأساسية المسماة فئة للإعلان عنها. في الواجهة ، يتم استخدام كلمة أساسية تسمى الواجهة للإعلان عنها.
- لا يلزم أن يكون أعضاء الفصل عامًا. يمكن أن تكون عامة وخاصة ومحمية. في المقابل ، تكون أعضاء الواجهة عامة بشكل افتراضي.
- يمكن أن يكون للفصل هيئة طريقة. يحتوي على طرق ملموسة. لا يمكن أن يكون للواجهة طريقة مع الهيئات. تحتوي على طرق مجردة.
- يُسمح للفئة بتمديد فئة واحدة فقط ولكن العديد من الواجهات مطلوبة. لا يمكن للواجهة تنفيذ الواجهات نفسها ولكن يُسمح لها بتوسيع أي عدد من الفئات. هذا ، بدوره ، هو ميزة التنفيذ متعدد الفئات.
- قد تحتوي الفصول الدراسية في البرنامج على مُنشئين. إنها كتلة من هياكل التشفير في برنامج ، تشبه إلى حد بعيد الطرق. لا تحتوي الواجهة على أي مُنشئين.
- https://ieeexplore.ieee.org/abstract/document/6141290/
- https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0009813
آخر تحديث: 30 يوليو 2023
سانديب بهانداري حاصل على بكالوريوس هندسة في الحاسبات من جامعة ثابار (2006). لديه 20 عامًا من الخبرة في مجال التكنولوجيا. لديه اهتمام كبير في المجالات التقنية المختلفة ، بما في ذلك أنظمة قواعد البيانات وشبكات الكمبيوتر والبرمجة. يمكنك قراءة المزيد عنه على موقعه صفحة بيو.
يعد الشرح الشامل لكل من الفئة والواجهة مفيدًا للمطورين الذين يتطلعون إلى تحسين مهاراتهم في البرمجة.
أنا أتفق تماما، تيلي. توفر هذه المقالة فهمًا واضحًا لأساسيات البرمجة.
بالتأكيد، تيلي. إنه مورد رائع للمطورين على جميع المستويات لتوسيع معرفتهم بالفئة والواجهة.
يعد جدول المقارنة التفصيلي والتفسيرات المتعمقة مفيدًا جدًا للمطورين.
يوفر هذا الشرح الشامل فهمًا عميقًا لمفاهيم Class وInterface في البرمجة.
هذا شرح مفيد جدًا لمفاهيم Class و Interface. إن فهم هذه المفاهيم بعمق أمر ضروري للبرمجة الفعالة.
بالتأكيد، فيليب. يعد هذا الشرح التفصيلي مفيدًا جدًا للمطورين لتعزيز مهاراتهم في البرمجة.
وأنا أتفق معك تماما، فيليب. يعد الفهم العميق لهذه المفاهيم أمرًا أساسيًا للمطورين لإنشاء تعليمات برمجية عالية الجودة.
يعد تفصيل ماهية الفصل ومدى ارتباطه بالبرمجة الموجهة للكائنات مفيدًا للغاية.
توفر هذه المقالة رؤى قيمة حول مفهومي الفئة والواجهة، مما يوفر فهمًا واضحًا لأدوارهما في البرمجة.
لا أستطيع أن أتفق أكثر، ناثان. يعد فهم الاختلافات بين الفئة والواجهة أمرًا بالغ الأهمية لأي مبرمج.
بالتأكيد، ناثان. إنه شرح مفصل يلقي الضوء على مكونات البرمجة الأساسية هذه.
إن مقارنة المقالة بين الفئة والواجهة مفيدة للغاية. هذه معلومات قيمة لأي شخص يشارك في البرمجة.
بالتأكيد، نعومي. من الضروري أن يفهم المبرمجون هذه المفاهيم، وهذه المقالة تقوم بعمل ممتاز في شرحها.
يوفر الوضوح في جدول المقارنة والتفسيرات التفصيلية أساسًا متينًا لفهم الفروق الدقيقة بين الفئة والواجهة.
تعد المقارنة التفصيلية بين Class وInterface مفيدة جدًا لتمييز خصائص كل منهما.
إن شرح كيفية تعريف الفئة والواجهة والاختلافات الرئيسية بينهما شامل للغاية. ويوفر فهمًا متعمقًا لهذه المفاهيم الأساسية.
نعم الشرح واضح جدا وتعليمي. إنه مورد ممتاز لأي شخص يتطلع إلى تعزيز معرفته بالبرمجة.
وأنا أتفق تماما، آلان. ستكون هذه المقالة مفيدة لكل من المبرمجين المبتدئين وذوي الخبرة.
يعد تفصيل التعريف والاختلافات الرئيسية بين الفئة والواجهة مفيدًا للغاية ومفيدًا للمبرمجين.
أنا أتفق تماما، تشيلسي. توفر هذه المقالة نظرة شاملة وتعليمية لمفاهيم البرمجة الأساسية هذه.
بالتأكيد، تشيلسي. إنها قراءة أساسية لأي شخص يريد فهم مبادئ البرمجة الشيئية.