7.2.1 Kiểu enum dùng để làm gì ? (1)

Giả sử chúng ta cần xây dựng một ứng dụng lịch trực tuyến. Chúng ta sẽ phải tạo ra một chương trình có khả năng lưu trữ dữ liệu về nhiều sự kiện có tính chất khác nhau và kết hợp chúng theo nhiều cách.

Chúng ta sẽ phải xử lý không chỉ những ngày trong tháng mà còn ngày trong tuần tương ứng. Chúng ta sẽ phải chọn một phương pháp để thể hiện các ngày trong tuần và xử lý chúng. Tất nhiên, chúng ta có thể sử dụng kiểu int cho mục đích đó và quy định rằng 0 có nghĩa là Chủ Nhật, 1 có nghĩa là Thứ 2…

Tuy nhiên làm như vậy sẽ gây ra một số vấn đề. Bạn hoặc bất kỳ đồng nghiệp nào của bạn một ngày nào đó sẽ quên mất quy định đó và sẽ không chắc chắn rằng giá trị 5 là có phải là thứ Sáu hay không. Các con số không tạo ra các mối liên rõ ràng với các ngày trong tuần.

Nếu dùng kiểu char thì sao ? Chúng ta có thể sử dụng ký tự để đánh dấu các ngày trong tuần không ?

Không, đây không phải là ý tưởng hay bởi vì có hai ngày trong tuần có tên bắt đầu bằng ‘S’ và hai ngày có tên bắt đầu bằng ‘T’.