Enum Class in Kotlin

1. Khái niệm

  • Enum class hiểu đơn giản như 1 class tự định nghĩa các object của mình bên trong nó

2. Cách khai báo

  • Cách 1: Không có Constructor
  • Giữa các Object có dấu ',' (phẩy) , giữa các Object và các thuộc tính, phương thức có dấu ';' (chấm phẩy)    
  • Ta có thể hiểu Red và Blue là các Object của Class Color. Mọi Object đều có thể thực hiện hàm draw(), ở đây vì mình để draw là abstract function nên tất cả Object bắt buộc phải Override lại, ngoài ra có thể dùng function có body thông thường.
  • Cách 2: Có Constructor
  • Có thể hiểu với mỗi Color đều được tạo thành từ 3 thuộc tính trong Constructor (Red - Green - Blue)

 

3. Cách sử dụng

  • Enum Class có thể được gọi tới như 1 ArrayList và cũng có thể truy cập Object tại vị trí, kiểm tra size,...


  • Có thể truy cập tới các Object của Enum Class bằng 2 cách
    Cách 1: enumValues<Tên Enum Class>()[Thứ tự của Object]
    Cách 2: <Tên Enum Class>.valueOf("Tên Object")

  • Khi muốn gọi tới Object bạn biết rõ thứ tự trong Enum Class có thể dùng cách 1, khi chỉ biết tên của Object thì sử dụng cách 2
  • Có thể sử dụng enum trong trường hợp 1 class có 1 số trường hợp đối tượng cố định hoặc có chung các thuộc tính. 
    VD1: Có 2 trạng thái bật đèn/tắt đèn
    VD2: Tập hợp các màu (có 3 thông số R-G-B)

4. Mở rộng

  • Implement từ Interface
    Một Enum Class có thể implement 1 hay nhiều Interface, và các Object của nó phải Override lại tất cả abstract function của Interface
 





Minh Hoàng

Nhận xét

Bài đăng phổ biến từ blog này

Nested and Inner Class in Kotlin

Callback In Kotlin

Class and Data Class in Kotlin