لا يتم دعم الطبقات مباشرة في اللغة ج ، ولكن يمكنك إنشاء بنية التي سيتم تخزين المتغيرات والوظائف. يتم الوصول إلى الوظائف في الفصل من خلال مؤشر إلى هذه البنية.
للوصول إلى وظيفة في فئة ج ، تحتاج إلى إنشاء مثيل للهيكل ، وتهيئته ، ثم استخدام مؤشر لاستدعاء الوظيفة المطلوبة. فيما يلي مثال على مثل هذا الاستئناف:
في هذا المثال ، أنشأنا بنية ميكلاس التي تحتوي على المتغيرات س و ص ، فضلا عن مؤشر إلى وظيفة المبلغ ، الذي يأخذ مؤشر إلى ميكلاس كوسيطة. ثم أنشأنا مثيل ميوبج من هيكل ميكلاس ، تهيئة المتغيرات س و ص ، وتعيين مؤشر إلى وظيفة المبلغ إلى هذه الحالة.
بعد ذلك ، نسمي وظيفة المجموع من خلال المؤشر إلى ميوبج وعرض النتيجة على الشاشة. ستكون نتيجة تنفيذ هذا الرمز هي القيمة 5 ، حيث قمنا بإضافة قيم المتغيرات س و ص.
- المفاهيم الأساسية للفصول
- الاستدعاءات في الفصول الدراسية
- أمثلة على استخدام وظائف الفئة في ج
- توصيات عملية للعمل مع وظائف الطبقة في ج
- سؤال وجواب
- ما هي وظيفة في فئة ج?
- كيف أعلن وظيفة في فئة في ج?
- كيف يمكنني تحديد وظيفة في فئة في ج?
- كيف يمكنني الوصول إلى وظيفة في فئة في ج?
- هل من الممكن استدعاء وظيفة في فئة ج دون إنشاء كائن?
المفاهيم الأساسية للفصول
الفئة هي الوحدة الأساسية للبرمجة الموجهة للكائنات وهي قالب لإنشاء الكائنات. يحتوي على تعريف للبيانات والأساليب التي يمكن استخدامها بواسطة هذه الكائنات.
يبدأ تعريف الفصل بفئة الكلمات الرئيسية ، متبوعا باسم الفصل. يجب أن يكون اسم الفئة فريدا داخل البرنامج. يتم تعريف المتغيرات ووظائف الأعضاء في الفصل داخل الأقواس المتعرجة.
تسمى المتغيرات المعلنة داخل الفصل أعضاء البيانات. يمكن الإعلان عنها بمعدلات وصول مختلفة مثل عامة أو خاصة أو محمية.
الأساليب المعلنة داخل فئة هي وظائف الأعضاء ويمكن أن تؤدي عمليات مختلفة على بيانات الفئة. يمكن استدعاؤها بواسطة كائنات من فئة ويمكن أن يكون الوصول إلى أعضاء البيانات الخاصة به.
ويمكن أيضا تعريف الصانعين في فئة. المنشئ هو دالة عضو خاصة لفئة يتم استدعاؤها عند إنشاء كائن من هذه الفئة. يقوم المنشئون بتهيئة متغيرات أعضاء الفصل.
يمكن تنظيم الفصول في تسلسل هرمي. تسمى الفئات في المستوى الأعلى من التسلسل الهرمي الفئات الأساسية. تسمى الفئات المشتقة من الفئات الأساسية الفئات المشتقة. ترث الفئات المشتقة أعضاء البيانات ووظائف الأعضاء من الفئة الأساسية ويمكنها توسيع وظائفها أو تغيير طريقها.
تعريف الفئة هو مجرد قالب لإنشاء الكائنات. يتم إنشاء كائنات حقيقية باستخدام المشغل الجديد. يقوم المشغل الجديد بتخصيص الذاكرة للكائن ويستدعي منشئ الفئة.
تسمح لك الفصول بإنشاء كائنات بمبدأ التغليف ، مما يعني أن البيانات والأساليب المتعلقة بها هي وحدة واحدة ومخفية عن العالم الخارجي. هذا يسمح لك بإنشاء برامج أكثر ملاءمة وموثوقية.
الطبقات هي بناء أساسي من البرمجة الشيئية وتوفير آلية قوية لتنظيم وهيكلة التعليمات البرمجية.
الاستدعاءات في الفصول الدراسية
في ال لغة البرمجة ج ، لا تحتوي الفصول الدراسية على دعم رد اتصال مدمج ، كما هو الحال في بعض اللغات الأخرى مثل ج#أو ج#. ومع ذلك ، هناك طرق لتنفيذ عمليات الاسترجاعات في الفصول في ج.
رد الاتصال هو دالة يتم تمريرها كوسيطة إلى وظيفة أخرى ويتم استدعاؤها منها. تعتبر عمليات الاسترجاعات مفيدة في العديد من المواقف ، على سبيل المثال ، للتعامل مع الأحداث أو أداء المهام في الخلفية أو لفصل منطق التطبيق إلى وحدات نمطية.
طريقة واحدة لتنفيذ الاستدعاءات في فئات ج استخدام مؤشرات الدالة. كوسيطة لدالة فئة ، يتم تمرير مؤشر إلى الوظيفة التي سيتم استدعاؤها داخل وظيفة الفئة هذه. مثال على ذلك هو الكود التالي:
# تشمل
// إعلان نوع مؤشر الوظيفة
اكتبديف باطل (*رد) (كثافة العمليات);
// فئة مع وظيفة تقبل رد الاتصال
اكتببنية الدفاع {
رد الاتصال;
} ميكلاس;
// وظيفة فئة تستدعي رد الاتصال
باطلة ميفونكتيون (ميكلاس* أوبج ، قيمة إنت) {
إذا (كائن- > رد != لاغية) {
كائن- > رد الاتصال (القيمة);
}
}
// رد الاتصال
فواد ميكالباك (قيمة إنت) {
برينتف ("القيمة: ٪ د
"،القيمة);
}
كثافة العمليات الرئيسية () {
ميكلاس أوبج;
كائن.رد = ميكالباك;
ميفونكتيون (&أوبج ، 10);
العودة 0;
}
في هذا المثال ، تحتوي فئة` ميكلاس 'على مؤشر إلى وظيفة' رد الاتصال ' التي يمكن تمريرها إلى وظيفة `ميفونكتيون` كرد اتصال. داخل وظيفة ' ميفونكتيون` ، يتم التحقق من أن المؤشر إلى وظيفة ليست فارغة ، وإذا كان الأمر كذلك ، يتم استدعاء وظيفة رد الاتصال.
في هذا المثال ، وضعنا رد ل 'ميفونكتيون' عبر وظيفة 'ميكالباك' ، ولكن يمكنك أيضا استخدام وظائف مجهولة (وظائف لامدا) في ج إذا كان المترجم يدعم هذه الميزة. В этом случае код будет выглядеть следующим образом:
# تشمل
اكتبديف باطل (*رد) (كثافة العمليات);
اكتببنية الدفاع {
رد الاتصال;
} ميكلاس;
باطلة ميفونكتيون (ميكلاس* أوبج ، قيمة إنت) {
إذا (كائن- > رد != لاغية) {
كائن- > رد الاتصال (القيمة);
}
}
كثافة العمليات الرئيسية () {
ميكلاس أوبج;
كائن.رد = ^(قيمة كثافة العمليات) {
برينتف ("القيمة: ٪ د
"،القيمة);
};
ميفونكتيون (&أوبج ، 10);
العودة 0;
}
في كلا المثالين ، يتم استدعاء وظيفة` ميكالباك 'أو وظيفة لامدا من وظيفة 'ميفونكتيون' مع قيمة` قيمة ' مرت كوسيطة. يمكنك استخدام الاستدعاءات في الفصول الدراسية لتحقيق أهدافك وحل المهام المختلفة بناء على وظائف المعالجة والتمرير إلى وظائف أخرى.
أمثلة على استخدام وظائف الفئة في ج
وظائف الفئة في اللغة ج تسمح لك بتحديد مجموعة من العمليات التي يمكن تطبيقها على كائنات من هذه الفئة. فيما يلي أمثلة على استخدام وظائف الفئة في لغة ج:
النقطة ص;
- مجموعة النقاط (&ص ، 10 ، 20);
- إنت س = نقطة _ جيتكس (&ف);
| إنت ص = نقطة _ جيتي (&ف); | |
|---|---|
| تمرير المعلمات إلى وظائف الفئة: يمكن أن تحتوي وظائف الفئة على معلمات يمكن استخدامها داخل الوظيفة لتنفيذ إجراءات معينة. يمكن تمرير المعلمات بالقيمة أو بالرجوع إليها. | |
مثال على استخدام وظائف الفئة:
كود:
النتيجة:
فئة ميكلاس {
العامة:
باطلة وظيفتي () {
// رمز الوظيفة