What's Encapsulation

Tính đóng gói là một trong bốn tính chất cơ bản của lập trình hướng đối tượng Java

Tính đóng gói là kỹ thuật giấu thông tin không liên quan và hiển thị ra thông tin liên quan. Mục đính chính của đóng gói trong Java là giảm thiểu mức độ phức tạp phát triển phần mềm

Untitled

Để đạt được tính đóng gói chúng ta cần:

Ví dụ: Tạo một lớp MyClass

class MyClass(private val id: String, val name: String)

Tiến hành xem các giá trị của MyClass

class MyClass(private val id: String, val name: String) {
    override fun toString(): String = "Class $name, Id is $id"
}

fun main() {
    val a = MyClass(id = "abc", name = "Class A")
    println("My Class A has name is ${a.name}")
}

Chúng ta khởi tạo một đối trương của lớp MyClass.

Câu hỏi là chúng ta có thể thay đổi giá trị idname của đối tượng a được không?

Trả lời là không

class MyClass(private val id: String, val name: String)

fun main() {
    val a = MyClass(id = "abc", name = "Class A")
    // Val cannot be reassigned
    a.id = "bcd"
    a.name = "Class AAAA"
}