# Class, sealed class và pattern matching

> enum có field và method, class bất biến với const constructor, sealed class, switch expression với pattern matching.

- URL: https://dantech.academy/courses/flutter-mobile-101/01-dart-essentials/lesson-02-classes-sealed-and-patterns
- Khóa học: [Flutter Mobile 101](https://dantech.academy/courses/flutter-mobile-101.md)
- Module: Dart Essentials
- Thời lượng: 22 phút
- Độ khó: beginner
- Truy cập: Dành cho học viên

## Mục tiêu

- Đọc và viết enum Dart có field, getter tính toán và factory tĩnh
- Viết class dữ liệu bất biến với final fields và const constructor
- Đọc hiểu switch expression với pattern matching của Dart 3 và tính exhaustive

## Nội dung bài học

1. Bậc Một - Enum Trần: RoundResult
2. Bậc Hai - Enum Có Method: Mark
3. Bậc Ba - Enum Mang Dữ Liệu: Difficulty Và FirstMove
4. Bậc Bốn - Enum Gần Như Một Class: BoardSize
5. Class Dữ Liệu: Khi Enum Không Đủ
6. Sealed Class: Mô Tả Trạng Thái
7. Switch Expression + Pattern Matching
8. Enum Hay Sealed?
9. Tự Kiểm Tra: Đọc Code AI Sinh

## Học cùng AI agent

Toàn bộ bài học dành cho học viên của khóa. Học viên mở bài trên web và bấm nút **Markdown** để copy toàn bài, rồi dán vào Claude, ChatGPT, Cursor hoặc agent bạn đang dùng. Nhanh hơn: tạo token ở `/profile/ai-agents` và agent đọc bài trực tiếp qua MCP.

- [Đăng ký khóa học](https://dantech.academy/flutter-mobile-101/checkout)

---

- Bài trước: [var, final, named parameters và null safety](https://dantech.academy/courses/flutter-mobile-101/01-dart-essentials/lesson-01-null-safety-and-functions.md)
- Bài tiếp theo: [List, Map, Future và async/await](https://dantech.academy/courses/flutter-mobile-101/01-dart-essentials/lesson-03-collections-and-async.md)
