Nâng CaoFlutter iconFlutter

Sealed class trong Dart là gì và tại sao nó hữu ích hơn abstract class trong một số trường hợp?

Sealed class giới hạn các subclass phải được định nghĩa trong cùng một library, tạo ra tập hợp đóng và biết trước. Khác với abstract class (ai cũng có thể extend từ bất kỳ đâu), sealed class đảm bảo exhaustiveness trong pattern matching—compiler báo lỗi nếu switch thiếu case.

Ví dụ: sealed class Shape {}; class Circle extends Shape {}; class Square extends Shape {};—switch trên Shape bắt buộc phải handle cả Circle lẫn Square. Rất phù hợp để mô hình hóa sum type như Result, State.

Xem toàn bộ Flutter cùng filter theo level & chủ đề con.

Mở danh sách Flutter