توفير وصول محدود إلى الأساليب الخاصة في Java
في Java، ليس من الممكن بشكل مباشر تكرار مفهوم C "الصديق"، والذي يسمح الوصول إلى أعضاء خاصين من فئة إلى كيانات خارجية. ومع ذلك، يمكن تحقيق سلوك مماثل باستخدام تقنيات بديلة.
نهج توقيع الحب
أحد الأساليب الذكية لتحقيق الوصول المتحكم فيه هو استخدام التوقيع "السري". وإليك كيفية العمل:
مثال:
خذ بعين الاعتبار فئتين، روميو وجولييت من عبوات مختلفة. يحتاج روميو إلى الوصول إلى الأساليب الخاصة في جولييت دون جعلها فئة فرعية.كود جولييت:
// حزمة كابوليت الطبقة العامة جولييت { احتضان الفراغ الثابت العام (روميو.حب الحب) { Objects.requireNonNull(love); // يمكن الوصول إلى أساليب جولييت الخاصة هنا. }
// Capulet package public class Juliet { public static void cuddle(Romeo.Love love) { Objects.requireNonNull(love); // Juliet's private methods can be accessed here. } }رمز روميو:
// حزمة مونتاجو الطبقة العامة روميو { الطبقة النهائية العامة الثابتة Love {الحب الخاص() {} } الحب النهائي الثابت الخاص love = new Love(); public static void cuddleJuliet() { جولييت. احتضان (الحب)؛ }
// Montague package public class Romeo { public static final class Love { private Love() {} } private static final Love love = new Love(); public static void cuddleJuliet() { Juliet.cuddle(love); } }
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3