OOP Mastery: Inheritance trong Kotlin
OOP Mastery là chuỗi bài viết tự học Lập trình hướng đối tượng với ngôn ngữ Kotlin được biên soạn tại DanTech0xFF. Mục đích của chuỗi bài viết này là cung cấp cái nhìn toàn diện về Hướng đối tượng trong ngôn ngữ Kotlin. Đây sẽ là nền tảng vững chắc cho Lập trình viên trong tương lai nếu các bạn đi sâu về mảng Android, Mobile Cross Platform, hoặc Backend Java.
- Part 1: OOP Mastery: Các loại Class, Interface trong Kotlin
- Part 2: OOP Mastery: Encapsulation trong Kotlin
- Part 3: OOP Mastery: Inheritance trong Kotlin
- Part 4: OOP Mastery: Tính đa hình – Polymorphism trong Kotlin
- Part 5: OOP Mastery: Tính Trừu tượng – Abstraction trong Kotlin
Trong bài viết này chúng ta sẽ phân tích Tính Kế thừa của OOP trong ngôn ngữ lập trình Kotlin.
Nhắc lại tính kế thừa
Kế thừa (Inheritance) là khả năng giúp 1 Class sử dụng lại các thuộc tính (properties) và hàm (method, behavior) từ 1 Class khác.
Trong bài viết này mình sẽ chia sẻ sâu về kế thừa trong ngôn ngữ Kotlin.
Kế thừa trong Kotlin
Access Modifier Base Class | Access Modifier Sub Class |
private | NOT INHERITANCE |
protected | protected |
internal | internal |
public | public |
Cú pháp kế thừa
Kotlin chặt chẽ trong việc xác định một Class có kế thừa được hay không. Để khai báo một class có khả năng kế thừa bạn cần đặt thêm keyword open trước khai báo class.
open class OpenBaseClass {
private val privateVar = 1
protected val protectedVar = 2
internal val internalVar = 3
val publicVar = 4
private fun privateFunction() {
println("Private Function")
}
protected fun protectedFunction() {
println("Protected Function")
}
internal fun internalFunction() {
println("Internal Function")
}
fun publicFunction() {
println("Public Function")
}
}
class SubClass : OpenBaseClass() {
fun callPrivateVar() {
// Not able to access privateVar
}
fun callPublicVar() {
println(publicVar)
}
fun callProtectedVar() {
println(protectedVar)
}
fun callInternalVar() {
println(internalVar)
}
fun callPrivateFunction() {
// Not able to access privateFunction
}
fun callPublicFunction() {
publicFunction()
}
fun callProtectedFunction() {
protectedFunction()
}
fun callInternalFunction() {
internalFunction()
}
}
Đoạn code mô tả kế thừa trong OOP Kotlin
Về cơ bản kế thừa trong Kotlin chỉ có thế. Bài viết tiếp theo sẽ hướng dẫn cụ thể Đa hình (Polymorphism) và Trừu tượng (Abstraction) trong Kotlin. Mời bạn đọc tiếp nhé!