Hotline: 0919 365 363; Email: daotao@r2s.edu.vn

Interface trong Kotlin

Interface trong Kotlin

Kiến thức hữu ích

Interface trong Kotlin

Interface trong Kotlin cũng tương tự như trong Java. Nghĩa là bên trong interface chỉ chứa đựng những phương thức trừu tượng. Một interface được cài đặt bởi một lớp và lớp đó cần phải có nhiệm vụ cài đặt xử lý cho tất cả những phương thức được khai báo bên trong của interface.

Trong tổng quan, interface trong Kotlin là một công cụ mạnh mẽ để định nghĩa hợp đồng và tách riêng phần khai báo và triển khai của các thành phần trong mã nguồn. Nó là một phần quan trọng trong việc xây dựng các ứng dụng linh hoạt và dễ bảo trì.

Interface trong Kotlin là gì?

Interface trong Kotlin là một khối mã mô tả các phương thức và thuộc tính mà một lớp khác có thể triển khai. Nó định nghĩa một hợp đồng giữa các lớp và đảm bảo rằng các lớp triển khai interface phải cung cấp tất cả các phương thức và thuộc tính được khai báo trong interface đó. 

Sử dụng interface cho phép chúng ta tách riêng phần khai báo phương thức và thuộc tính của một lớp ra khỏi phần triển khai của nó, giúp cho mã nguồn trở nên dễ đọc và dễ bảo trì hơn.

Cú pháp khai báo của interface trong Kotlin

Trong Kotlin, chúng ta sử dụng từ khóa interface để có thể định nghĩa một interface

interface tên_interface {
   //Khai báo thuộc tính
   var tên_thuộc_tính

   //Khai báo hàm
   fun tên_function(tham_số_nếu_có)
}

Ví dụ khai báo interface tên UserRepository của interface trong Kotlin

interface UserRepository {
   fun save(user : User): Boolean

   fun showInfo() {
      println("User repository")
   }
}

Trong ví dụ ở phía trên, chúng tôi định nghĩa một interface tên UserRepository. Interface này có 2 hàm là hàm save và hàm showInfo. Trong đó hàm save là trừu tượng, nhưng hàm showInfo thì lại có phần xử lý. Và các bạn lưu ý hàm showInfo còn được gọi là hàm với cài đặt mặc định. Nghĩa là một lớp cài đặt (implement) UserRepository hoặc là viết lại xử lý hoặc sử dụng showInfo mà không cần phải cài đặt.

Cài đặt interface của interface trong Kotlin

Trong Kotlin, để cài đặt một interface, bạn cần làm theo các bước sau đây:

  1. Định nghĩa một lớp (class) và khai báo rằng lớp đó sẽ implement (cài đặt) interface bằng cách sử dụng từ khóa “implements”. 
  2. Override tất cả các phương thức trong interface trong lớp đó.
class tên_class : tên_interface {
  // Code here
}

Ví dụ tạo ra một lớp tên UserRepositoryImpl cài đặt UserRepository

class UserRepositoryImpl : UserRepository {
  override fun login(user : User) : Boolean {
     println("Save an user into database")
     return true;
  }
}

Cài đặt nhiều interface của interface trong Kotlin

Trong Kotlin, bạn có thể cài đặt nhiều interface trong một lớp bằng cách sử dụng dấu phẩy để phân tách các interface. Bạn cần làm như sau:

  1. Khai báo lớp và sau đó sử dụng từ khóa “implements” theo sau là danh sách các interface mà lớp đó muốn cài đặt.
  1. Override tất cả các phương thức có trong các interface đã khai báo. Lớp cần cung cấp triển khai riêng cho mỗi phương thức trong mỗi interface.
interface UserRepository {
   fun login(user : User) : Boolean
}

interface ProductRepository  {
   fun save(product : Product)
}

//Cài đặt 2 interface
class Shopping : UserRepository, ProductRepository {
  override fun login(user : User) : Boolean {
    println("Handle login")
    return true;
  }

  override fun save(product : Product) {
    println("Save a product")
  }  
}

Trong ví dụ phía trên, lớp Shopping cài đặt 2 interface là UserRepository và ProductRepository. Và lớp Shopping cần phải có nhiệm vụ cài đặt xử lý cho hàm login và hàm save. Đây là xử lý bắt buộc chứ không phải là xử lý tùy chọn. Ngoại trừ những hàm có xử lý mặc định.

Ví dụ mẫu của interface trong Kotlin

Trong bài này, chúng tôi đã sử dụng eclipse đã cài đặt Kotlin plugin để tạo một Kotlin project. Ngoài eclipse thì các bạn có thể sử dụng các IDE khác như IntelliJ IDEA.

Trong ví dụ mẫu này, chúng tôi tạo một interface tên UserRepository có 2 phương thức trừu tượng là hàm save và hàm getAll. Đối tượng mà chúng ta save và get là User đối tượng bày có các thuộc tính như id, name, gender và address.

Các tính năng của ví dụ mẫu đó là thêm user, hiển thị thông tin của tất cả user. Nghiệp vụ không phải là một yếu tố quan trọng.

Bước 1: Tạo Kotlin project

Chọn File -> chọn New -> chọn Project…

Interface trong Kotlin

Chọn Kotlin Project -> chọn Next

Interface trong Kotlin

Nhập KotlinProject tại Project name -> chọn Finish

Bước 2: Tạo một lớp tên User

Chuột phải lên src -> chọn New -> chọn Other

Interface trong Kotlin

Chọn Kotlin Class -> chọn Next

Interface trong Kotlin

Nhập User tại Name -> chọn Finish

Interface trong Kotlin

Viết xử lý cho lớp User

Interface trong Kotlin

Bước 3: Tạo interface tên UserRepository

Chuột phải lên src -> chọn New -> chon Other…

Interface trong Kotlin

Chọn Kotlin Interface  -> chọn Next

Interface trong Kotlin

Nhập UserRepository tại Name -> chọn Finish

Viết xử lý cho interface

Interface trong Kotlin

Bước 4: Tạo một class thực hiện implements UserRepository

Interface trong Kotlin

Viết xử lý cho UserRepositoryImpl (Cài đặt interface)

Interface trong Kotlin

Bước 5: Tạo một file để chay có tên Program

Chuột phải src -> chọn New -> chọn Other… -> chọn Kotlin File

Kotlin File

Nhập Program tại Name -> chọn Finish

chọn Finish

Viết  chương trình xử lý cho Program

Viết  chương trình xử lý cho Program

Danh sách file của project sau khi đã hoàn thành tất cả các bước phía trên

Danh sách file của project

Bước 6: Chạy chương trình

Nhấp chuột phải lên Program -> chọn Run as -> chọn Kotlin Application

 Kotlin Application

Kết quả sau khi chạy chương trình

Kết quả sau khi chạy chương trình

Kết luận của interface trong Kotlin

Như vậy, qua bài viết về interface trong Kotlin trên đây, R2S chúng tôi đã giúp bạn hiểu được về Interface trong Kotlin là gì?, Ví dụ khai báo interface tên UserRepository, Cài đặt interface, Cài đặt nhiều interface, Ví dụ mẫu của interface 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

Alert: You are not allowed to copy content or view source !!