Tìm hiểu về Kotlin data class

Tram Ho

Như ý nghĩa của tên được đặt , data class là class chứa dữ liệu. Sự khác biệt so với lớp bình thường là class này tự động tạo ra một số method tiêu chuẩn và method tiện ích bắt nguồn từ chính dữ liệu.

Trong bài viết này, mình sẽ chia sẻ kỹ hơn về các method defaut được tạo trong data class.

Okey, let do it!

Vậy ta thống kê lại, ta có thể làm gì với data class :

  • Data class lưu giữ data (tất nhiên rồi ^^)
  • Tự sinh ra get và set
  • Override các method hashcode(), equals() and toString()

Và giờ mình sẽ đi lần lượt các method defaut trong data class

1 Copy()

Function Copy() không phải là hàm tạo ra copy hay clone object. Mục đích của hàm này là tạo ra 1 đối tượng “gần giống” đối tượng cũ. Nó được sử dụng trong trường hợp chúng ta cần sao chép một đối tượng thay đổi một số thuộc tính của nó, nhưng giữ nguyên phần còn lại.

Ví dụ

2 ComponentN function(s)

componentN() các hàm tương ứng với các thuộc tính theo thứ tự khai báo của chúng trong class .

Thứ tự các component theo thứ tự từ trái sang phải.

Một số lưu ý :

  • Số lượng các component được tạo ra đúng bằng số đối số được khai báo trong constructor class

  • Nếu sử dụng equals() để kiểm tra 2 object, thì có chỉ kiểm tra khác nhau đối với các đối số, các value còn lại ko được tính

2 object có value khác nhau, nhưng được coi giống nhau

Nguồn bài viết : https://proandroiddev.com/kotlin-data-class-behind-the-mask-51a05ad92ae9

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo