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.

28 Sentyabr 2024 - 03:13
 0  411
Java Sealed Class Nədir?

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, SquareTriangle 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:

  1. final: Bu sinif daha genişləndirilə bilməz.
  2. sealed: Bu sinif özü də sealed sinifdir və öz icazə verilən alt siniflərini müəyyən edir.
  3. 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

  1. Təhlükəsizlik: Sinif iyerarxiyası üzərində daha çox nəzarət.
  2. Kodu Oxuma: Baxanda hansı siniflərin mümkün olduğunu dərhal görmək olur.
  3. Pattern Matching: Gələcək Java versiyalarında daha yaxşı pattern matching imkanları.
  4. Domen Modelləşdirmə: Məhdud sayda alt sinifləri olan domenləri daha yaxşı təmsil etmək.