التعليقات التوضيحية في Java: الأنواع والاستخدامات والأمثلة
نشرت: 2022-05-19يشير التعليق التوضيحي في لغة البرمجة مثل Java إلى البيانات الوصفية النحوية التي يمكن دمجها مع كود مصدر Java. يمكن إضافة تعليقات توضيحية لعوامل مختلفة مثل حزم Java والمتغيرات والفئات والمعلمات والطرق. يمكن للمطورين قراءة تعليقات Java التوضيحية بسهولة مباشرة من الملفات المصدر ، تمامًا مثل علامات Javadoc.
يمكن أيضًا تضمين تعليقات Java التوضيحية وقراءتها من ملفات فئة Java الناتجة لمحول Java. يتيح ذلك لجهاز Java الظاهري الاحتفاظ بالتعليقات التوضيحية وقراءتها من خلال انعكاس في وقت التشغيل. في Java ، من الممكن بناء التعليقات التوضيحية التعريفية من التعليقات الموجودة.
فيما يلي بعض أساسيات التعليقات التوضيحية في Java:
- تبدأ التعليقات التوضيحية دائمًا بعلامة "@". على سبيل المثال: "override" ، "target" ، "SuppressWarnings" ، إلخ.
- لا تؤثر التعليقات التوضيحية على سلوك البرنامج المترجم.
- تساعد التعليقات التوضيحية في ربط البيانات الوصفية بمكونات البرنامج مثل الطرق والفئات والمتغيرات وما إلى ذلك.
- التعليقات التوضيحية ليست مجرد تعليقات لأنها يمكن أن تؤثر على كيفية معالجة البرنامج بواسطة المترجم. أنها توفر معلومات إضافية عن برنامج التحويل البرمجي ولكنها ليست جزءًا من البرنامج نفسه. لذلك ، لا تؤثر هذه التعليقات التوضيحية على تنفيذ البرنامج المترجم.
أنواع التعليقات التوضيحية في Java
1. شروح ذات قيمة واحدة
تسمح التعليقات التوضيحية ذات القيمة الفردية بنموذج اختصار واحد فقط لأنها تحتوي على عضو واحد فقط. يجب إعطاء العضو قيمة بعد تقديم التعليق التوضيحي. ومع ذلك ، لا يلزم تحديد اسم التعليق التوضيحي. يجب أن يكون للعضو قيمة في حالة استخدام الاختصار. فمثلا:
TestAnnotation ("اختبار") ؛
2. شروح كاملة
تتكون التعليقات التوضيحية الكاملة من بيانات مختلفة مثل أعضاء البيانات والقيم والأزواج والأسماء.
فمثلا:
TestAnnotation (المالك = "Rahul" ، القيمة = "Class Geeks")
تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
3. تكرار التعليقات التوضيحية
عندما يمكن تطبيق تعليق توضيحي على كائنات مفردة أكثر من مرة ، يتم تسميته على أنه تعليق توضيحي متكرر. يتم تحديد التعليقات التوضيحية المتكررة بعلامةRepeatable كما هو محدد في حزمة java.lang.annotation. يشير حقل القيمة الخاص به إلى نوع حاوية التعليق التوضيحي المكرر.
يتم تعريف الحاوية على أنها تعليق توضيحي بحقل قيمة يحتوي على مصفوفة من التعليقات التوضيحية المتكررة. لإنشاء تعليق توضيحي متكرر ، أنشئ أولاً التعليق التوضيحي للحاوية ، ثم حدد نوع التعليق التوضيحي كمدخل إلى التعليق التوضيحيRepeatable.
فمثلا:
// برنامج Java لتوضيح تعليق توضيحي قابل للتكرار
// استيراد الفئات المطلوبة
استيراد java.lang.annotation.Annotation ؛
استيراد java.lang.annotation.Repeatable ؛
استيراد java.lang.annotation.Retention ؛
استيراد java.lang.annotation.RetentionPolicy ؛
طريقة الاستيراد java.lang.reflect.Method ؛
// اجعل شرح الكلمات قابلاً للتكرار
Retention (RetentionPolicy.RUNTIME)
Repeatable (MyRepeatedAnnos.class)
@ واجهة الكلمات
{
String word () افتراضي "Hello" ؛
قيمة int () الافتراضي 0 ؛
}
// إنشاء تعليق توضيحي للحاوية
Retention (RetentionPolicy.RUNTIME)
تضمين التغريدة
{
الكلمات [] القيمة () ؛
}
فئة عامة رئيسية {
// كرر الكلمات بطريقة جديدة
Words (word = "First" ، value = 1)
@ Words (word = "Second"، value = 2)
طريقة جديدة باطلة ثابتة عامة ()
{
هدف رئيسي = جديد رئيسي () ؛
محاولة {
فئة <؟> c = obj.getClass () ؛
// احصل على التعليق التوضيحي للطريقة الجديدة
الطريقة m = c.getMethod (“newMethod”) ؛
// عرض التعليق التوضيحي المتكرر
التعليقات التوضيحية anno
= m.getAnnotation (MyRepeatedAnnos.class) ؛
System.out.println (anno) ؛
}
catch (NoSuchMethodException e) {
System.out.println (هـ) ؛
}
}
public static void main (String [] args) {newMethod ()؛ }
}
سيكون الناتج النهائي:MyRepeatedAnnos (القيمة = {@ Words (value = 1، word = "First")،Words (value = 2، word = "Second")})
استكشف دوراتنا التدريبية الشهيرة في هندسة البرمجيات
SL. رقم | برامج تطوير البرمجيات | |
1 | ماجستير العلوم في علوم الكمبيوتر من جامعة جون مورس بليفربول و IIITB | برنامج شهادة الأمن السيبراني من معهد كاليفورنيا للتكنولوجيا CTME |
2 | برنامج تدريب تطوير المكدس الكامل | برنامج PG في Blockchain |
3 | برنامج الدراسات العليا التنفيذية في تطوير البرمجيات - تخصص في DevOps | عرض جميع دورات هندسة البرمجيات |
3. علامة التعليقات التوضيحية
التعليقات التوضيحية للعلامة مخصصة فقط لأغراض الإعلان. لا يحتوي هذا التعليق التوضيحي على أي أعضاء ولا توجد أي بيانات بداخله. والغرض الوحيد منه هو الحفاظ على الحضور كتعليق توضيحي. على سبيل المثال:Override.
4. اكتب التعليقات التوضيحية
يمكن استخدام هذه التعليقات التوضيحية في كل مكان يتم فيه استخدام النوع. على سبيل المثال ، يمكننا وضع تعليق توضيحي على نوع إرجاع الطريقة. يتم تمييز التعليقات التوضيحية على النوع باستخدام التعليق التوضيحيTarget.
الكود الذي يمكن أن يوضح نوع التعليقات التوضيحية هي:
// استيراد الفئات المطلوبة
استيراد java.lang.annotation.ElementType ؛
استيراد java.lang.annotation.Target ؛
// استخدام التعليق التوضيحي الهدف لتعليق نوع
Target (ElementType.TYPE_USE)
// إعلان نوع بسيط من التعليقات التوضيحية
interface TypeAnnoDemo {}
// الفئة الرئيسية
فئة عامة GFG {
// طريقة السائق الرئيسي
العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {
// شرح نوع السلسلة
TypeAnnoDemo String string = "هذا الكود مزود بتعليق توضيحي للنوع"؛
System.out.println (سلسلة نصية) ؛
abc () ؛
}
// شرح نوع الإرجاع للدالة
staticTypeAnnoDemo int abc () {
System.out.println ("نوع إرجاع هذه الوظيفة مشروح") ؛
العودة 0 ؛
}
أمثلة على التعليقات التوضيحية المحددة مسبقًا
هناك العديد من أنواع التعليقات التوضيحية المحددة مسبقًا والتي ذكرناها سابقًا. دعونا نلقي نظرة:
1.Override
لا يمكن استخدام التعليق التوضيحي للعلامة إلا في الأساليب. يجب أن تحل أي طريقة بها التعليق التوضيحيoverride محل طريقة أخرى من فئة فائقة. إذا تعذر ذلك ، فسيتم تشغيل خطأ وقت الترجمة. يحدث هذا لأنه يجب أن يضمن تجاوز الطبقة الفائقة بالفعل وليس مجرد زيادة التحميل.
الكود الذي يمكن أن يوضح تجاوز التعليق التوضيحي هو:
// الفئة 1
قاعدة الطبقة
{
عرض الفراغ العام ()
{
System.out.println ("عرض القاعدة ()") ؛
}
الرئيسية العامة الثابتة الفراغ (سلاسل سلسلة [])
{
Base t1 = مشتق جديد () ؛
t1.Display () ؛
}
}
// الصف 2
// تمديد فوق الفئة
الطبقة المشتقة تمتد القاعدة
{
@تجاوز
عرض الفراغ العام ()
{
System.out.println (“عرض مشتق ()”) ؛
}
}
2. @ الهدف
من المفترض فقط استخدامه كتعليق توضيحي لتعليق توضيحي آخر. يقبلTarget معلمة واحدة ، والتي يجب أن تكون ثابتة ElementType. تحدد المعلمة الإعلانات التي يمكن تطبيقها عليها. يمكن أن يحتوي التعليق التوضيحيTarget على قيم متعددة بدلاً من قيمة مفردة فقط. ومع ذلك ، إذا كان يجب التصريح عن قيم متعددة ، فيجب أن تكون في شكل أقواس مثل:Target ({ElementType.FIELD، ElementType.LOCAL_VARIABLE}).
يمكن استخدام التعليق التوضيحيRetention هنا لتحديد حالة الاحتفاظ بالتعليق التوضيحي. هناك ثلاثة عوامل تؤثر على التعليق التوضيحي لـRetention:
- المصدر: يتجاهل المترجم التعليقات التوضيحية حيث يتم الاحتفاظ بها عادةً على مستوى المصدر.
- وقت التشغيل: يتم الاحتفاظ به في وقت التشغيل.
- الفئة: تظل التعليقات التوضيحية وقت الترجمة ويتم تجاهلها بواسطة برنامج Java.
3. @ موروث
لا يمكن استخدام هذا التعليق التوضيحي إلا لأغراض الإعلان ، ومن ثم ، فإنه يؤثر فقط على إعلانات فئة معينة. يمكن أن يحل أحد التعليقات التوضيحية محل الآخر ويرث خصائصه. وبالتالي ، يمكن التحقق من الطبقة الفائقة في حالة عدم وجود تعليقات توضيحية محددة من الفئة الفرعية. ومع ذلك ، إذا كان التعليق التوضيحي موجودًا ، فسيحصل على التعليق التوضيحي الموروث @.
فمثلا:
// الفئة 1
فئة DeprecatedTest
{
@إهمال
عرض الفراغ العام ()
{
System.out.println ("عرض الاختبار الموقوف ()") ؛
}
}
// الصف 2
فئة عامة SuppressWarningTest
{
// إذا علقنا على التعليق أدناه ، فإن البرنامج يولد
// تحذير
SuppressWarnings ({“قيد الفحص”، “إهمال”})
الرئيسية العامة الثابتة الفراغ (سلاسل سلسلة [])
{
DeprecatedTest d1 = جديد DeprecatedTest () ؛
d1.Display () ؛
}
}
استنتاج
هنا ، تعلمنا عن التعليقات التوضيحية في Java. لقد تعلمنا أيضًا عن أنواع التعليقات التوضيحية في Java واستخداماتها التي يمكن أن تساعد مطوري Java على إنشاء برامج قوية وقابلة للتطوير بسهولة.
إذا كنت ترغب في معرفة المزيد حول مفاهيم Java ، فإن شهادة PG المرتبطة بالوظيفة من upGrad في هندسة البرمجيات هي أفضل رهان لك لاكتساب فهم شامل للغات البرمجة مثل Java و HTML و JS ، بالإضافة إلى مكتبات وأدوات تطوير البرامج الأخرى.
تم تصميم البرنامج لطلاب السنة النهائية أو الخريجين العاطلين عن العمل الذين يتطلعون إلى تأمين وظائف على مستوى الدخول في هذا المجال. تغطي الدورة التي تبلغ مدتها 5 أشهر التخصص في MERN / Cloud-Native وتساعد الطلاب على بناء محفظة من الدرجة الأولى من خلال تعريضهم لخمسة مشاريع عملية.
لذا لا تنتظر. توجه إلى upGrad واحجز مقعدك اليوم!
ما هي التعليقات التوضيحيةjsonproperty؟
تسمح التعليقات التوضيحية لـ Jsonproperty للمطورين بتعيين مفاتيح JSON بأسماء الخصائص أثناء التسلسل وإلغاء التسلسل. استنادًا إلى إعدادات Java الافتراضية ، يتم تعيين المفاتيح لحقول POJO أثناء التسلسل. تساعد تعليقات Json التوضيحية في تجاوز هذه الوظيفة الافتراضية باستخدام سمات السلسلة التي تشير إلى الاسم المعين.
ما هي التعليقات التوضيحية في السبات؟
Hibernate Annotations (Hibernate Annotations) هي تقنية أخرى لتحديد البيانات الوصفية عند تعيين الكائن والجدول العلائقي. إنها طريقة تخطيط قوية وجديدة نسبيًا يمكن استخدامها بدلاً من بيانات تعريف خرائط XML. باستخدام التعليقات التوضيحية في حالة السبات ، يمكن للمستخدمين تخزين البيانات الوصفية في ملف POJO java واحد يحمل أيضًا الرمز ، مما يساعد على فهم بنية الجدول بشكل أفضل.
ما هيSuppressWarnings؟
يُعلم التعليق التوضيحيSuppressWarnings المترجم بالتحذيرات التي تم منعها. الإخطارات موجودة في شكل سلسلة بالاسم. يمكن إعطاؤه لأي نوع من التصريحات. تصنف Java التحذيرات إلى فئتين ، وهما غير محدد ومهمل. عندما تتفاعل التعليمات البرمجية القديمة مع التعليمات البرمجية القائمة على الأدوية ، يتم إصدار تحذير غير محدد.