الفئات المختومة، التي تم تقديمها في Java 15 كميزة معاينة وأصبحت دائمة في Java 17، تسمح للمطورين بالتحكم في الفئات التي يمكنها توسيعها أو تنفيذها. تعد هذه الميزة جزءًا من Project Amber، الذي يهدف إلى تحسين إنتاجية المطورين من خلال تحسين لغة Java بميزات صغيرة ولكنها قوية.
الفئات المختومة هي نوع جديد من الفئات التي تقيد الفئات أو الواجهات الأخرى التي يمكنها توسيعها أو تنفيذها. يتم ذلك لتوفير تسلسل هرمي للنوع أكثر قوة وقابلية للصيانة. عندما تحدد فئة مختومة، فإنك تحدد مجموعة من الفئات الفرعية المسموح بها.
لتعريف فئة مختومة، يمكنك استخدام الكلمة الأساسية المختومة وتحديد الفئات الفرعية المسموح بها مع شرط التصاريح. إليك مثال:
public sealed class Shape permits Circle, Rectangle, Square { // class body } public final class Circle extends Shape { // class body } public final class Rectangle extends Shape { // class body } public final class Square extends Shape { // class body }
في هذا المثال، الشكل عبارة عن فئة مغلقة، ولا يُسمح إلا بتوسيعها على شكل دائرة ومستطيل ومربع. يجب أن تكون كل فئة فرعية نهائية أو مختومة أو غير مختومة.
يمكن استخدام الفئات المختومة لنمذجة الهياكل الهرمية حيث تكون مجموعة الفئات الفرعية معروفة وثابتة. وهذا مفيد بشكل خاص في نمذجة المجال وعند العمل مع أنواع البيانات الجبرية.
إليك مثال على استخدام الفئات المختومة مع مطابقة الأنماط:
public class SealedClassExample { public static void main(String[] args) { Shape shape = new Circle(5); String result = switch (shape) { case Circle c -> "Circle with radius " c.radius(); case Rectangle r -> "Rectangle with width " r.width() " and height " r.height(); case Square s -> "Square with side " s.side(); }; System.out.println(result); } }
في هذا المثال، نستخدم تعبير التبديل للتعامل مع أنواع مختلفة من الأشكال. يمكن للمترجم التأكد من تغطية جميع الحالات المحتملة لأن الشكل مغلق.
تعد الفئات المختومة إضافة قوية إلى Java، مما يوفر تحكمًا أفضل في التسلسلات الهرمية للفئات ويعزز إمكانية قراءة التعليمات البرمجية وإمكانية صيانتها. باستخدام الفئات المختومة، يمكنك إنشاء أنظمة كتابة أكثر قوة ومحددة جيدًا في تطبيقات Java الخاصة بك.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3