لغة البرمجة كوتلين يوفر في وقت متأخرالكلمة الرئيسية ، والذي يسمح لك لتأجيل تهيئة متغير حتى يصبح من الضروري. هذه وظيفة مفيدة للغاية لأنها تتجنب أخطاء التجميع المرتبطة بالوصول إلى متغير لم تتم تهيئته بعد.
يتم استخدام عامل لاتينيت فقط لخصائص الفئة التي لا يمكن تهيئتها أثناء الإعلان أو في المنشئ. قبل استخدام الخاصية لاتينيت ، يجب أن تعلن ذلك مع معدل لاتينيت. ثم ، في المكان المناسب للبرنامج ، تحتاج إلى تهيئة هذه الخاصية باستخدام مشغل لاتينيت. بعد ذلك ، يصبح المتغير متاحا للاستخدام.
ومع ذلك ، يجب أن نتذكر أن استخدام مشغل لاتينيت يمكن أن يؤدي إلى أخطاء أثناء تنفيذ البرنامج إذا لم يتم تهيئة الخاصية قبل استخدامه. لذلك ، من الضروري توخي الحذر عند استخدام هذه الوظيفة ومراقبة ترتيب التهيئة.
- كوتلين ومتغير لاتينيت
- التهيئة لاحقا-ما هو?
- كيفية إعلان متغير لاتينيت في كوتلين
- قواعد استخدام لاتينيت
- فحص واستخدام قيمة لاتينيت من متغير
- متى تستخدم لاتينيت
- الحصول على نولبونتيركسيبتيون عند استخدام لاتينيت
- مزايا وعيوب استخدام لاتينيت
- سؤال وجواب
- ما هو لاتينيت في كوتلين?
- كيفية استخدام لاتينيت في كوتلين?
- هل من الممكن استخدام لاتينيت مع جميع أنواع المتغيرات?
- ماذا يحدث إذا لم تقم بتعيين قيمة لمتغير مع معدل لاتينيت?
- متى يجب استخدام لاتينيت في كوتلين?
كوتلين والتهيئة اللاحقة للمتغيرات
في لغة برمجة كوتلين ، من الممكن استخدام التهيئة المتأخرة للمتغيرات باستخدام الكلمة الأساسية لاتينيت. يتيح لك ذلك تأخير تهيئة متغير حتى يتم استخدامه لأول مرة ، مما قد يكون مفيدا في بعض سيناريوهات التطوير.
لاستخدام الكلمة الأساسية لاتينيت لتهيئة المتغيرات لاحقا ، يجب استيفاء الشروط التالية:
- يجب الإعلان عن المتغير بنوع غير بدائي. على سبيل المثال ، تحتاج إلى استخدام أنواع المجمع بدلا من أنواع البيانات البدائية ، مثل إنت بدلا من إنت.
- يجب ألا يكون المتغير فارغا ، أي يجب تهيئته لاحقا.
مثال على إعلان متغير مع التهيئة المتأخرة:
لاتينيت فار الاسم: سلسلةهنا ، يتم الإعلان عن متغير الاسم مع نوع السلسلة والكلمة الرئيسية لاتينيت. سيتم تنفيذ تهيئة متغير الاسم لاحقا ، قبل استخدامه لأول مرة.
تتمثل عملية تهيئة متغير مع التهيئة المتأخرة في تعيين قيمة له قبل استخدامه لأول مرة:
الاسم = "جون"بعد ذلك ، سيتم تهيئة متغير الاسم وجاهز للاستخدام.
ومع ذلك ، يجب أن تكون حذرا عند استخدام التهيئة المتأخرة للمتغيرات. إذا لم يتم تهيئة المتغير قبل استخدامه لأول مرة ، سيتم إنشاء استثناء من نوع أونيتياليزدبروبيرتيكسيسيبتيون. لذلك ، من المهم التأكد من تهيئة المتغير قبل استخدامه.
لاتينيت-ما هو?
يتم استخدام الكلمة الرئيسية لاتينيت في كوتلين للتهيئة المؤجلة للمتغيرات. عادة ، في كوتلين ، يجب تهيئة المتغيرات في وقت إعلانها أو أن تكون قيما فارغة إذا كان نوع المتغير يسمح بمثل هذه التهيئة.
ومع ذلك ، في بعض الأحيان يكون من المفيد أن تكون قادرا على تأخير تهيئة متغير حتى تكون هناك حاجة إليه بالفعل. في مثل هذه الحالات ، توجد الكلمة الرئيسية لاتينيه.
باستخدام الكلمة الأساسية لاتينيت ، نقول للمترجم أنه سيتم تهيئة المتغير لاحقا ، قبل استخدامه. وبالتالي ، يمكننا تأجيل تهيئة المتغير حتى مرحلة لاحقة من تنفيذ البرنامج.
ومع ذلك ، عند استخدام لاتينيت ، يجب علينا بالتأكيد أن تأخذ في الاعتبار القواعد التالية:
- يجب أن يكون المتغير من نوع غير مرجعي (نوع غير قابل للإلغاء).
- يجب أن يكون المتغير متغير فئة أو كائن ، ولكن ليس متغيرا محليا.
- لا يمكن تهيئة المتغير حتى يتم الوصول إليه لأول مرة.
- إذا لم يتم تهيئة متغير فئة قبل الوصول الأول إليه ، سيتم طرح أونينيتياليزدبروبيرتيكسيسيبتيون.
مثال على التصريح عن متغير باستخدام الكلمة الأساسية لاتينيت:
مثال فئة {
لاتينيت فار الاسم: سلسلة
اسم الطباعة المرح () {
إذا (هذا:: اسم.إيسينيتياليزيد) {
برينتلن ("الاسم :name الاسم")
}
}
}
في هذا المثال ، يتم الإعلان عن متغير الاسم باستخدام الكلمة الأساسية لاتينيت. هذا:: اسم.يتحقق دالة إيسينيتياليزيد ما إذا كان يتم تهيئة المتغير قبل الوصول إليه.
الكلمة الرئيسية لاتينيت في كوتلين مريحة للاستخدام في الحالات التي يكون فيها التهيئة المتأخرة للمتغيرات مطلوبة ، على سبيل المثال ، عند العمل مع أطر دي.
ومع ذلك ، يجب أن تكون حذرا عند استخدام لاتينيت ، لأن استخدامه غير السليم يمكن أن يؤدي إلى أخطاء أثناء تنفيذ البرنامج.
كيفية إعلان متغير لاتينيت في كوتلين
طريقة واحدة لاستخدام خصائص في كوتلين هو استخدام معدل لاتينيت لتهيئة تأخر متغير. لاتينيظهر المترجم أنه سيتم تهيئة المتغير لاحقا ، قبل استخدامه لأول مرة.
لإعلان متغير مع تهيئة متأخرة ، اتبع الخطوات التالية:
- أعلن متغير مع معدل لاتينيت:
- قم بتهيئة المتغير لاحقا في الكود ، قبل استخدامه لأول مرة.
مثال على إعلان متغير لاتينيت:
لاتينيت فار الاسم: سلسلة
المتغير المعلن من قبل لاتينيمكن استخدامه فقط في بعض الحالات:
- يجب أن يكون المتغير غير قابل للتغيير (فال) ، أي أنه لا يمكن تغييره بعد التهيئة.
- لا يمكن أن يكون المتغير نوعا بدائيا (كثافة العمليات ، مزدوجة ، منطقية ، إلخ.).
- لا يمكن أن يكون المتغير فارغا.
- يجب أن يكون المتغير متغيرا عاديا ، وليس خاصية مصاحبة أو خاصية من المستوى الأعلى.
مثال على استخدام متغير لاتينيت:
| كود كوتلين | الإنجاز |
|---|---|
| } | |
ميوبجيكت.اسم الطباعة()
- قواعد استخدام لاتينيت
1. إعلان متغير مع تهيئة متأخرة
هنا
ماي متغير |
| هو اسم المتغير ، و |
| هو نوع البيانات الذي ينتمي إليه المتغير. يرجى ملاحظة أن |
| يمكن استخدامه فقط مع متغيرات نوع الفئة ، وليس مع الأنواع البدائية (على سبيل المثال, |
| - غير صالح). |
| قبل استخدام التهيئة المؤجلة مع متغير ، يجب مراعاة القيود التالية: |
| لاتينيت فار متغير = 0 |
| لا يمكن الإعلان عن متغير مع التهيئة المتأخرة على أنه |
. يمكن أن تكون قابلة للتغيير فقط.
. لذلك ، يوصى بالتحقق من التهيئة قبل استخدام متغير.
3. تهيئة المتغير
يجب إجراء التهيئة المؤجلة للمتغير في الطريقة
или другом подобном методе жизненного цикла, гарантирующем вызов до обращения к переменной. Например:
private lateinit var myVariable: MyType
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
myVariable = MyType()
، تحديده قبل اسم المتغير:
إذا (:: متغير.إيسينيتياليزيد) {
// رمز التعامل مع استخدام ميفاريابيل
}
هذا الاختيار يتجنب الاستبعاد
غير مهيأةالملكيةالحصول علىإستثناء
.
فحص واستخدام قيمة لاتينيت من متغير
عند استخدام متغير لاتينيت في كوتلين ، يجب اتباع قواعد وإرشادات معينة لتجنب الأخطاء. واحدة من هذه القواعد هي التحقق من المتأخرقيمة المتغير قبل استخدامه.
التحقق من قيمة متغير قبل الاستخدام يتجنب نولبوانتيركسيبتيون التي يمكن أن تحدث إذا لم يتم تهيئة قيمة لاتينيت للمتغير.
للتحقق من قيمة لاتينيت من متغير ، يمكنك استخدام بيان إف أو بيان عندما. على سبيل المثال:
باستخدام إذا:
إذا (:: متغير.إيسينيتياليزيد) المشغل {
- // رمز باستخدام متغير
}
باستخدام متى:
عندما المشغل {
:: متغير.غير مهيأ - > {
// رمز باستخدام متغير
}
}
عند استخدام متغير لاتينيت داخل كتلة شرط ، يمكنك التأكد من أن قيمة المتغير قد تمت تهيئتها بالفعل ، ويمكنك استخدام قيمة المتغير بأمان في كتلة التعليمات البرمجية المقابلة.
يمكن أن تكون العبارات إذا ومتى مفيدة عند التحقق من قيمة المتغير المتأخر ، خاصة عندما يكون لدينا العديد من المتغيرات ونحتاج إلى التحقق من التهيئة قبل استخدامها.
وبالإضافة إلى ذلك ، يمكن كوتلين استخدام مكالمة آمنة إلى المشغل السماح للعمل مع المتغيرات لاتينيت. بيان السماح ينفذ الإجراءات فقط إذا تم تهيئة قيمة المتغير ، وإرجاع نتيجة العملية ككتلة من التعليمات البرمجية.
مثال على استخدام مكالمة آمنة لمشغل السماح:
:: متغير.دع {
// رمز باستخدام المتغير
}
يتيح لك هذا الأسلوب معالجة قيمة المتغير بأمان ، مما يمنع الأخطاء المحتملة بسبب التهيئة غير الصحيحة.
يعد فحص واستخدام قيمة لاتينيت للمتغير خطوة مهمة عند استخدام هذه الميزة
متى تستخدم لاتينيت
يتم استخدام الكلمة لاتينيت في كوتلين لتهيئة المؤجلة من الخصائص. هذا يعني أنه يمكننا إنشاء متغير دون الحاجة إلى تعيين القيمة الأولية على الفور. سيتم تنفيذ التهيئة لاحقا قبل الوصول الأول إلى المتغير.
- ومع ذلك ، يجب عدم إساءة استخدام لاتينيت ، لأنه يمكن أن يؤدي إلى أخطاء وقت التشغيل إذا لم يتم تهيئة المتغير قبل استخدامه.
- فيما يلي الحالات التي يكون فيها استخدام لاتينيمكن أن يكون مفيدا:
- عندما يكون لدينا متغير يجب تهيئته في منشئ الفصل ، ولكن لسبب ما من المستحيل تهيئته على الفور. في مثل هذه الحالات ، يمكننا الإعلان عن متغير باستخدام الكلمة الأساسية لاتينيت وتهيئتها لاحقا.
عندما يكون لدينا متغير يجب تهيئته في إحدى طرق الفصل ، لكننا لا نريد تعيين قيمته الأولية في المنشئ أو إعلانه على أنه قابل للإلغاء.
- عندما يكون لدينا متغير ستتم تهيئته من الخارج ، على سبيل المثال من وحدة نمطية أو مكتبة أخرى ، ولا يمكننا تعيين قيمته الأولية في وقت الإعلان.
- في كل هذه الحالات ، باستخدام الكلمة الرئيسية لاتينيت يسمح لك بتأجيل تهيئة المتغير حتى يكون ضروريا أو ممكنا. ومع ذلك ، تحتاج إلى التأكد من تهيئة المتغير قبل الاستخدام ، وإلا قد يحدث أونينيتياليزدبروبيرتيكسيسيبتيون.
- ومن المهم أيضا أن نتذكر أن لاتينيمكن استخدامه فقط مع خصائص قابلة للتغيير (فار) ، وأنه لا يمكن تطبيقها على أنواع البيانات البدائية مثل إنت ، منطقية ، مزدوجة ، الخ.
الحصول على نولبونتيركسيبتيون عند استخدام لاتينيت
لغة كوتلين لديها كلمة رئيسية لاتينيت ، والتي تسمح لك بتأجيل تهيئة متغير حتى استخدامه لأول مرة. ومع ذلك ، قد يؤدي الاستخدام غير الصحيح لاتينيت إلى خطأ نولبونتيركسيبتيون.
أولا وقبل كل شيء ، تجدر الإشارة إلى أن المتغيرات مع معدل لاتينيت يجب تهيئة قبل أن يمكن الوصول إليها. خلاف ذلك ، سوف يحدث أونينيتياليزدبروبيرتيكسيسيبتيون. في هذه الحالة ، يسمح لنا مترجم كوتلين باكتشاف المشكلة بسهولة وإصلاحها.
ومع ذلك ، هناك حالات حيث حدوث نولبوانتيركسيبتيون ليست واضحة جدا. يحدث هذا عندما لا يتم تهيئة متغير مع معدل لاتينيت ، ولكن يتم الوصول إليه.
إذا حاولت استخدام متغير تم الإعلان عنه باستخدام الكلمة الأساسية لاتينيت ولم تتم تهيئته ، فلن يقوم مترجم كوتلين بإنشاء خطأ. بدلا من ذلك ، عند تنفيذ البرنامج ، سيحدث نولبوانتيركسيبتيون عند الوصول إلى هذا المتغير.
على سبيل المثال ، ضع في اعتبارك الكود التالي:
لاتينيت فار الاسم: سلسلة
المرح الرئيسية () {
طباعة (الاسم.الطول)
}
سوف رمز أعلاه رمي نولبونتيركسيبتيون ، حيث لم يتم تهيئة متغير الاسم حتى تم الوصول إليه.
لتجنب الحصول على نولبوانتيركسيبتيون عند استخدام لاتينيت ، فمن الضروري التحقق بعناية من تهيئة المتغير ، على سبيل المثال ، باستخدام الاختيار:: المشغل: