Lập trình Kotlin - Packages và imports

Liem Vo
Viet Android Developers
2 min readAug 8, 2020

Bài học hôm nay nói về packages và imports. Một file code có thể bắt đầu với khai báo package.

Ví dụ chúng ta có file source code được đặt trong package com.vad.example:

package com.vad.examplefun calculateScore(developers: Developers) = developers.experienceYear * 2class Developers(
val name: String,
val skill: String,
val experienceYear: Int
)

Tất cả các thông tin trong file code (như hàm và lớp) là được chứa trong khai báo package. Từ ví dụ trên ta thấy, tên đầy đủ của hàm là `com.vad.example.calculateScore` và tên đầy đủ của class sẽ là `com.vad.example.Developers`

Nếu không chỉ cụ thể package thì những thông tin trong source code sẽ có package mặc định là không tên.

Mặc định Import:

Sau đây là một số package tự động import trong Kotlin

Thêm vào những package được import tuỳ thuộc vào những platform đang dùng

JVM:

JS

Imports:

  • Import theo từng tên riêng
import com.vad.example.Developers
  • Import toàn bộ package
import com.vad.example.*
  • Nếu có trùng tên xảy ra giữa các lớp hoặc hàm trong các package thì có thể dùng as để chỉ sự khác biệt
import com.vad.example.Developers
import com.vad.example2.calculateScore as calculate

Source code của calculateScore trong package com.vad.example2

package com.vad.example2

import com.vad.example.Developers

fun calculateScore(developers: Developers) = developers.experienceYear * 3

Scope của mức khai báo cao nhất của file

Nếu class, biến hoặc hàm được khai báo với private key word thì nó chỉ sử dụng trong file đó

Ở phần cuối là cách dùng và import trong file main

package com.vad.hellodevelopers

import com.vad.example.Developers
import com.vad.example.calculateScore
import com.vad.example2.calculateScore as calculate

fun main() {
println("Hello, developers!!!")

val developers = Developers("A", "Android", 5)
println(calculateScore(developers))
println(calculate(developers))
}

Cảm ơn các bạn đã đọc bài. Đăng ký kênh chúng tôi để xem những bài học mới nhất.

Youtube kênh: https://bit.ly/2EFOOXs

--

--