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