هناك طريقة في لغات البرمجة لإخبار المترجم بأن جزء من البيانات ثابتة. هناك متطلباتان
1. ثابت التحويل البرمجي الذي لا يتغير أبدًا
2. القيمة التي يتم تهيئتها في وقت التشغيل ، ولن يتم تغيير هذه القيمة
في Java ، استخدم متغيرات المعدل النهائي لتحقيق هذين المتطلبات
<pre name = "code"> // برنامج التحويل البرمجي الثابت النهائي النهائي int valueone = 9 ؛ private int int value_two = 99 ؛ public static int value_three = 39 ؛ // القيمة الموضحة في وقت التشغيل ، ولن يتم تغيير القيمة النهائية الخاصة بـ int i4 = rand.nextint (20) ؛
عندما يعدل النهائي نوع البيانات الأساسية ، حافظ على البيانات الثابتة وغير المتغيرة
عندما يتم تعديل مرجع الكائن النهائي ، يتم الحفاظ على المرجع ثابتًا. بمجرد تهيئة المرجع للإشارة إلى كائن ، لا يمكن تغييره للإشارة إلى كائن آخر.
ومع ذلك ، يمكن تعديل الكائن نفسه
تعديل المعلمات النهائية في قائمة المعلمات الطريقة ، مما يعني أنه لا يمكن تغيير الكائن الذي يشير إليه مرجع المعلمة في الطريقة. تستخدم هذه الميزة بشكل أساسي لتمرير البيانات إلى فئات داخلية مجهولة المصدر.
أيضا ، في جافا
الغرض من طريقة التعديل النهائي هو حظر الفئات الفرعية بشكل صريح من الكتابة فوق هذه الطريقة
فئة التعديل النهائي ، يتم حظر الميراث
كيف يمكنك تنفيذ هذين المتطلبات في C#؟
الشرط 1: ثوابت المترجم
Const يعدل الثوابت ، والتي يجب استخدامها للحسابات في وقت الترجمة. الثوابت ثابتة دائمًا ولكن ليس من الضروري (في الواقع ، غير مسموح) تشمل المعدل الثابت في إعلان مستمر
الشرط 2: ثوابت وقت التشغيل
قد تتطلب الكلمة الرئيسية Readonly أحيانًا بعض المتغيرات التي لا ينبغي تغيير قيمتها ، ولكن قيمتها غير معروفة قبل التشغيل.
C# يوفر نوعًا آخر من المتغير لهذا الموقف: حقول القراءة فقط
أيضا ، في C#
تتمثل طريقة التعديل المختومة في حظر الفئات الفرعية بشكل صريح من الكتابة فوق هذه الطريقة.
فئة التعديل المختوم ، يتم حظر الميراث
ما سبق هو مناقشة موجزة للكلمة الرئيسية النهائية في Java و Const و READONLY COWNDS في C#. آمل أن يتمكن الجميع من دعم wulin.com ~