Sealed class giới hạn các subclass phải nằm trong cùng một library, tạo ra một tập đóng và biết trước.
Khác abstract class (ai cũng extend được từ bất kỳ đâu), sealed class bảo đảm exhaustiveness khi pattern matching — thiếu case là compiler báo lỗi.
dart
sealed class Shape {}
class Circle extends Shape {}
class Square extends Shape {}
// switch trên Shape bắt buộc phải xử lý cả Circle lẫn SquareRất hợp để mô hình hoá sum type như Result hay State.