Java Sealed Class Nədir?
Sealed siniflər bizə hansı siniflərin müəyyən bir sinfi genişləndirə (inherit) biləcəyini məhdudlaşdırmağa imkan verir. Bu, kod təhlükəsizliyini və dizayn çevikliyini artırır, eyni zamanda kodun daha oxunaqlı və anlayışlı olmasına kömək edir.
Java 15 ilə təqdim edilən və Java 17-də standartlaşdırılan sealed siniflər, sinif iyerarxiyalarını daha yaxşı idarə etməyə imkan verən güclü bir xüsusiyyətdir. Bu məqalədə sealed siniflərin nə olduğunu, necə istifadə edildiyini və onların üstünlüklərini araşdıracağıq.
Sealed Siniflər Nədir?
Sealed siniflər, bir sinfin hansı digər siniflərin onu genişləndirə biləcəyini məhdudlaşdırmağa imkan verir. Bu, daha çox nəzarət və təhlükəsizlik təmin edir, çünki siz bir sinfin mümkün alt siniflərini dəqiq müəyyən edə bilərik.
Sealed Siniflərin Sintaksisi
Sealed sinif yaratmaq üçün sealed
açar sözündən istifadə edilir və permits
sözü ilə birlikdə icazə verilən alt siniflər sadalanır. Məsələn:
public sealed class Shape permits Circle, Square, Triangle { }
Bu nümunədə Shape
sinfi yalnız Circle
, Square
və Triangle
sinifləri tərəfindən genişləndirilə bilər.
Alt Siniflərin Deklarasiyası
Sealed sinfin alt sinifləri üç mümkün modifikatordan birini istifadə etməlidir:
final
: Bu sinif daha genişləndirilə bilməz.sealed
: Bu sinif özü də sealed sinifdir və öz icazə verilən alt siniflərini müəyyən edir.non-sealed
: Bu sinif adi sinif kimi davranır və hər hansı başqa sinif tərəfindən genişləndirilə bilər.
Nümunə:
public final class Circle extends Shape { }
public final class Square extends Shape { }
public non-sealed class Triangle extends Shape { }
Sealed Siniflərin Üstünlükləri
- Təhlükəsizlik: Sinif iyerarxiyası üzərində daha çox nəzarət.
- Kodu Oxuma: Baxanda hansı siniflərin mümkün olduğunu dərhal görmək olur.
- Pattern Matching: Gələcək Java versiyalarında daha yaxşı pattern matching imkanları.
- Domen Modelləşdirmə: Məhdud sayda alt sinifləri olan domenləri daha yaxşı təmsil etmək.