x32x01
  • بواسطة x32x01 ||
يعني إيه Annotations في الـJava ؟ 🤔
تخيل إنك بتكتب كود، وعايز تضيف "ملاحظات" أو "علامات" للـ Compiler أو الـ JVM عشان تفهم حاجة معينة من غير ما تغير الكود نفسه. هنا بتظهر Annotations.
هي ببساطة Metadata بتضيفها للكود، يعني "بيانات عن بيانات". مش بتأثر على الـ Runtime مباشرة، لكنها بتوجّه الكومبيلر أو أدوات معينة (زي Frameworks) ازاي تتعامل مع الكود بتاعك.

طيب بتستخدم في إيه؟​

1. تنظيم الكود:
بتساعدك تضيف معلومات إضافية عن الكود بطريقة منظمة.

2. تسهيل التعامل مع Frameworks:
لو استخدمت Spring أو Hibernate، هتلاقيهم بيعتمدوا على الـ Annotations بشكل كبير عشان تحدد الوظائف.

3. تحسين أداء الكود:
بتستخدم عشان تعمل Validations أو تحدد الـ Configurations بدل فايلات XML زمان.

أنواع Annotations في الـJava​

1. Built-in Annotations:
الـ Java نفسها بتوفر Annotations جاهزة زي:
Code:
@Override:
ودي اللي بتأكد إنك بتعمل Override لميثود موجودة أصلًا.
Code:
@Override
public String toString() {
    return "Example";
}

Code:
@Deprecated:
لو حاجة في الكود قديمة وبتحذر المطورين ما يستخدموهاش.

Code:
@SuppressWarnings:
بتخلي الكومبيلر يتجاهل تحذيرات معينة.

النوع التاني Custom Annotations:
لو الـ Built-in مش كفاية، ممكن تعمل الـ Annotation الخاص بيك زي كده:
Code:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyAnnotation {
    String value();
}

طيب الـ Annotations دي بتشتغل إزاي؟​

Retention:
تحدد الـ Annotation ده موجود فين (Source, Class, Runtime).
Target:
تحدد الـ Annotation بيتطبق على إيه (Class, Method, Field, etc.).
Processing:
ممكن تستخدم Reflection عشان تفسر الـ Annotation أثناء الـRuntime.
مثال عملي بسيط:
لو بتعمل Validation على User Input:
Code:
public class User {
    @NotNull
    private String name;
}

بس Framework زي Spring بيشوف الـAnnotation
@NotNull وبيعمل Validation
أوتوماتيك على القيمة.
ليه مهمة؟
- بتقلل الكود اللي بتكتبه
(Less Boilerplate).
- بتخلي الكود Organized.
- بتفتح الباب لاستخدام Tools وFrameworks بشكل أكتر كفاءة.

نصيحة لو هتعمل Custom Annotations، فكر كويس لأنها بتأثر على الـ Maintainability بتاعة الكود.
استخدمها لما تكون محتاج تضيف معلومات للكود بوضوح وبدون تعقيد.
 

المشاركات المتشابهة

x32x01
الردود
0
المشاهدات
6
x32x01
x32x01
x32x01
الردود
0
المشاهدات
6
x32x01
x32x01
x32x01
الردود
0
المشاهدات
5
x32x01
x32x01
x32x01
الردود
0
المشاهدات
8
x32x01
x32x01
x32x01
الردود
0
المشاهدات
3
x32x01
x32x01
الوسوم : الوسوم
تعلم الجافا

الدخول أو التسجيل السريع

نسيت كلمة مرورك؟

آخر المشاركات

أحدث المنتجات

إحصائيات المنتدى

المواضيع
1,530
المشاركات
1,716
أعضاء أكتب كود
191
أخر عضو
Ahmed123132
عودة
أعلى