الدوال static مقابل دوال الكائن
افهم متى تستخدم الأعضاء static بدلًا من أعضاء الكائن، وكيف تختلف الاستدعاءات.
الدوال static مقابل دوال الكائن درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 3 دروس في المجموع.
ماذا تعني static؟
الفكرة: تنتمي الأعضاء static إلى الفئة، بينما تنتمي الأعضاء instance إلى كل كائن.
أعضاء instance
تستخدم دوال instance حالة كل كائن. استدعوا هذه الدوال على متغيرات مثل user.login().
أعضاء static
الدوال والحقول static مشتركة. استدعوا هذه الدوال عبر اسم الفئة، مثل Math.max(a, b).
اختيار static أو instance
اختاروا instance عندما يعتمد السلوك على حالة الكائن. واختاروا static للأدوات الخالصة أو العدادات العامة على مستوى الفئة.
المزالق
تجنّبوا استخدام حقول instance داخل دالة static. وتجنّبوا static عندما تكون هناك حاجة إلى حالة خاصة بكائن معين.
عرض توضيحي: static مقابل instance
شغّلوا العرض لرؤية استدعاءات instance على الكائنات واستدعاءات static عبر الفئة. العداد مشترك.
public class Main {
public static void main(String[] args) {
// Two Person objects hold different names
Person a = new Person("Ada");
Person b = new Person("Bob");
// Instance method: needs an object
a.greet();
b.greet();
// Static method/field: belong to class Utils
int s = Utils.add(7, 5); // pure function
System.out.println("sum = " + s);
Utils.bumpCounter();
Utils.bumpCounter();
System.out.println("counter = " + Utils.counter); // shared across all
}
static class Person {
private String name;
Person(String name) { this.name = name; }
void greet() {
System.out.println("Hello, " + name + "!");
}
}
static class Utils {
static int counter = 0; // static field (shared)
static int add(int x, int y) { // static method (pure)
return x + y;
}
static void bumpCounter() { // static method (mutates shared)
counter = counter + 1;
}
}
}
تحققوا من فهمكم
تحقق سريع: أي استدعاء يعمل دون إنشاء أي كائن أولًا؟
مراجعة
مراجعة: static = على مستوى الفئة ومشترك. instance = سلوك وحالة خاصان بكل كائن.
الأسئلة الشائعة
هل درس «الدوال static مقابل دوال الكائن» مجاني؟
نعم — نص درس «الدوال static مقابل دوال الكائن» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 3 دروس في المجموع.
ماذا ستتعلم في «الدوال static مقابل دوال الكائن»؟
افهم متى تستخدم الأعضاء static بدلًا من أعضاء الكائن، وكيف تختلف الاستدعاءات. تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟
لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.
كم من الوقت يستغرق درس «الدوال static مقابل دوال الكائن»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟
نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التمرير بالقيمة في Java
- الدوال static مقابل دوال الكائن
- تفكيك الدوال والشفرة النظيفة