Class trong Kotlin
Class trong Kotlin
Bài viết class trong Kotlin sẽ trình bày đến các bạn đọc phương pháp lập trình hướng đối tượng với Kotlin. Những nội dung được đề cập bao gồm class, đối tượng, hàm, hàm khởi tạo, thuộc tính, overriding function, static (Companion Object) và access modifier.
Nếu các bạn đã từng tìm kiếm và từng tìm hiểu về lập trình hướng đối tượng nói chung và lập trình hướng đối tượng với Java thì những nội dung mà chúng tôi vừa liệt kê thì không có gì mới lạ. Hôm nay, chúng tôi sẽ đề cập đến những nội dung này theo hướng tiếp cận với Kotlin.
Class trong Kotlin là gì?
Trong Kotlin, một class là một khối xây dựng cơ bản cho việc khai báo đối tượng và định nghĩa các thuộc tính và hành vi của đối tượng đó. Class là một mô hình hoặc mẫu để tạo ra các đối tượng cụ thể.
Nó bao gồm các thành phần như các thuộc tính (properties) để đại diện cho trạng thái của đối tượng và các phương thức (methods) để mô tả hành vi của đối tượng.
Các đối tượng được tạo từ class gọi là instances (thể hiện) của class. Chúng ta có thể tạo nhiều instances từ một class và mỗi instance có thể có giá trị riêng cho các thuộc tính của nó.
Class của class trong Kotlin
Giống như Java, class trong Kotlin được khai báo với từ khóa class
class tên_class {
}
Ví dụ về khai báo lớp NhanVien
class NhanVien {
}
Lưu ý về cách đặt tên cho class sử dụng danh từ, viết hoa ở ký tự đầu mỗi từ và chúng ta cũng đã biết class được dùng để tạo ra đối tượng (thể hiện của lớp). Mỗi đối tượng được đề cập thường có những đặc điểm (thuộc tính) và những xử lý liên quan (hàm). Do đó, bên trong class sẽ có những thành viên này.
Hàm khởi tạo của class trong Kotlin
Như các bạn đã biết, hàm khởi tạo (constructor) dùng để khởi tạo ra giá trị cho các thuộc tính khi tạo ra một thể hiện của lớp. Và một lớp không nhất thiết phải cần có hàm khởi tạo.
Một class trong Kotlin có thể có một hàm khởi tạo chính (primary constructor), một hoặc là nhiều hàm khởi tạo thức cấp (secondary constructor)
1/ Cú pháp của khai báo hàm khởi tạo chính
class tên_class (danh_sách_tham_số){
}
Ví dụ khai báo hàm khởi tạo của class NhanVien với 2 tham số bao gồm là ma và ten
class NhanVien(var ma: String, var ten: String){
}
Với khai báo như trên thì đồng nghĩa với việc class NhanVien có 2 nhóm thuộc tính là ma và ten. Đối với Java thì sẽ được khai báo như sau
class NhanVien {
String ma
String ten
public NhanVien(String ma, String ten) {
this.ma = ma
this.ten = ten
}
}
Không khó để nhận ra rằng cùng một yêu cầu nhưng việc cài đặt bằng Kotlin sẽ gọn hơn so với Java
2/ Cú pháp của khai báo hàm khởi tạo thứ cấp
Để khai báo một hoặc nhiều hàm khởi tạo thứ cấp, chúng ta sẽ sử dụng từ khóa constructor
class NhanVien(var ma: String, var ten: String) {
//Hàm khởi tạo thứ cấp không tham số
constructor() : this("","")
}
Với cú pháp khai báo như trên, class NhanVien có 2 hàm khởi tạo. Một hàm khởi tạo có 2 tham số và một hàm khởi tạo còn lại thì không có tham số. Và đoạn mã code : this(“”,””) với mục đích gọi hàm khởi tạo chính. Đây là xử lý bắt buộc.
Thuộc tính của class trong Kotlin
Có 2 cách để bạn khai báo thuộc tính trong class với Kotlin. Một là khi khai báo sử dụng hàm khởi tạo chính như ở trên. Hai là khi khai báo theo cú pháp sau
class tên_Class {
[lateinit] var tên_thuộc_tính: kiểu_dữ_liệu
}
Trong đó từ khóa lateinit dùng để xác định thuộc tính sẽ được khởi tạo giá trị ban đầu sau. Nếu không sử dụng từ khóa này thì thuộc tính phải được gán giá trị tại thời điểm khai báo.
Ví dụ về khai báo lớp KhachHang có 3 thuộc tính kiểu String
class KhachHang {
lateinit var ma: String
lateinit var ten: String
lateinit var diachi: String
}
Tới đây thì các bạn cũng nên biết về access modifier cũng có thể hiểu là quyền truy cập. Access modifier được sử dụng để khai báo thuộc tính và khai báo phương thức. Nó cho chúng ta được biết những thuộc tính và phương thức nào được sử dụng ở lớp khác.
Trong Kotlin có 4 access modifier bao gồm là private, protected, internal và public. Nếu lúc khai báo thuộc tính hay phương thức mà chúng ta không chỉ định 1 trong 4 access modifier trên thì mặc định sẽ là public.
Access modifier | Giải thích |
private | Chỉ sử dụng ở lớp khai báo |
protected | Giống như private ngoài ra còn được sử dụng ở lớp con |
internal | Giống như protected ngoài ra còn được sử dụng ở các lớp cùng module |
public | Không giới hạn truy cập |
Hàm của class trong Kotlin
Hàm trong Kotlin được khai báo bằng cách sử dụng từ khóa fun. Cũng như các ngôn ngữ lập trình khác, hàm trong Kotlin có thể có tham số và có thể trả về giá trị.
Ví dụ 1: khai báo hàm dùng để hiển thị chuỗi từ “Xin chào mọi người!”. Hàm này không có tham số và không trả về giá trị nơi gọi hàm
fun hienThi() {
println("Xin chào mọi người!")
}
Sử dụng hàm
hienThi()
Ví dụ 2: về khai báo hàm tính tổng của 2 số nguyên. Hai số nguyên sẽ được truyền vào hàm khi hàm được gọi. Hàm nhận vào 2 số nguyên
fun tinhTong(n: Int, m: Int) {
var tong = n + m
println("Tổng hai số là $tong")
}
Sử dụng hàm
tinhTong(100, 200)
Ví dụ 3: khai báo hàm tính lũy thừa 2 của số nguyên x. Hàm trả về giá trị sau khi tính toán tại nơi đã gọi hàm.
fun tinhLuyThua(x: Int): Int {
return x * 2
}
Sử dụng hàm tinhLuyThua
val kq = tinhLuyThua(100)
Ví dụ của class trong Kotlin
1/ Tạo một class tên Student bao gồm 3 thuộc tính và 2 hàm
2/ Tạo ra một file Kotlin tên System có một hàm Main
3/ Kết quả khi chạy chương trình
Kết luận của class trong Kotlin
Như vậy, qua bài viết về class trong Kotlin trên đây, R2S chúng tôi đã giúp bạn hiểu được về class trong kotlin, class, hàm khởi tạo, thuộc tính, hàm, Ví dụ của class trong Kotlin
Đừng quên bỏ lỡ bất cứ bài viết nào của chúng tôi để có thể học thêm nhiều kiến thức hữu ích về lập trình kotlin nhé.
Hãy đến với website của R2S để có thể tìm hiểu sâu hơn vào lập trình và công nghệ thông tin để có thêm nhiều kiến thức về nó hơn nhé.
Bài viết gốc được đăng tải tại giasutinhoc.vn