السلام عليكم ..كيف الحال ...؟
inner and anonymous class ايش هو الفرق بين
وايش هي فوائد وعيوب كل وحده ؟وشكرا للجميع ..
يا ريت تردولي بأسرع وقت ممكن... ولكم كل الشكر..
السلام عليكم ..كيف الحال ...؟
inner and anonymous class ايش هو الفرق بين
وايش هي فوائد وعيوب كل وحده ؟وشكرا للجميع ..
يا ريت تردولي بأسرع وقت ممكن... ولكم كل الشكر..
تم تعديل هذه المشاركة بواسطة Reehan في 2 نوفمبر 2007 في 12:12
Inner Class
هو كلاس يتم تعرفته داخل كلاس اخر طبعا تعريفه يعني له اسم..
Anonymous class
هوا كلاس يتم تعريفه داخل كلاس اخر (inner Class) لكن بدون اسم يعني يتم تعريفه ضمنيا
يستخدم غالبا في كلاسات الاكشن لسنر !
منقطع من حين لاخر
زيادة على كلام اخي ابو الفؤاد
Anonymous Class لاتستحب عندما يكون لديك أكثر من أوبجكت وليكن مثلاً JButton
مثلاً لديك 3 أزرار وتريد عمل ActionListener في الAnonymous أنت تحتاج لكتابة المثد ثلاث مرات وهذا غير مستحسن ومضر ببرنامجك
لكن في Inner class لن تكتبها سوى مره واحده وباختلاف السورس يختلف الاكشن ..
بالنسبة لي استخدم Anonymous عندما يكون لدي اوبجكت واحد فقط .. مثل زر واحد أو اكشن لإغلاق الفريم
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);}}); }آسفة يا جماعة ...
بس ممكن أعرف الفرق بينهم من ناحية التنفيذ في الذاكرة...؟يعني من ناحية أيهما أفضل في التنفيذ...؟
وشكرا على تعاونكم....
وش تبي توصل له ؟
ماني خبير بامور البيرفورمانس ولكن برأيي لايوجد هناك اختلاف من ناحية الاداء
لأنه وقت التنفيذ راح يضاف كلاس جديد سواءاً كان كلاس مجهول أو داخلي ...
مبدئياً ( load class time ) يمكن تجد فرق ولكن وقت التنفيذ لن تجد فرق بشكل عام
في الغالب هذه الأمور صعب الافتاء فيها
ويجب أن تأخذ الكلام عنها من شركة صن نفسها بسبب أن VM غير مفتوحة المصادر
لكن والله أعلم أظن أن كل Listener في الجافا عبارة عن خيط Thread ينتظر باستمرار التفعيل من الخيط الرئيسي في برنامجك عند حدث معين
والظاهر والله أعلم أن الأسلم أن تقوم بعمل Listener واحد لكل الأحداث من نفس النوع
لكن وكما قلت من قبل يبقى الأمر متعلقاً بطريقى بناء البيئة الافتراضية
الله معك
الحمد لله وصلت للي بدي ياه...
شكرا على تجاوبكم وإبداء أرائكم ...
دمتم ..
هذا الموضوع مغلق.