Chức năng mở rộng Kotlin (Có ví dụ)

Mục lục

Trong bài viết này, bạn sẽ học cách mở rộng một lớp với chức năng mới bằng cách sử dụng các hàm mở rộng.

Giả sử, bạn cần mở rộng một lớp với chức năng mới. Trong hầu hết các ngôn ngữ lập trình, bạn có thể dẫn xuất một lớp mới hoặc sử dụng một số loại mẫu thiết kế để thực hiện việc này.

Tuy nhiên, trong Koltin, bạn cũng có thể sử dụng chức năng mở rộng để mở rộng một lớp với chức năng mới. Về cơ bản, một hàm mở rộng là một hàm thành viên của một lớp được định nghĩa bên ngoài lớp.

Ví dụ, bạn cần sử dụng một phương thức cho lớp String trả về một chuỗi mới với ký tự đầu tiên và ký tự cuối cùng bị xóa; phương pháp này chưa có sẵn trong Stringlớp. Bạn có thể sử dụng chức năng mở rộng để thực hiện nhiệm vụ này.

Ví dụ: Xóa ký tự đầu tiên và cuối cùng của chuỗi

 fun String.removeFirstLastChar(): String = this.substring(1, this.length - 1) fun main(args: Array) ( val myString= "Hello Everyone" val result = myString.removeFirstLastChar() println("First character is: $result") )

Khi bạn chạy chương trình, đầu ra sẽ là:

 Nhân vật đầu tiên là: ello Everyon

Ở đây, một hàm mở rộng removeFirstLastChar ()được thêm vào Stringlớp.

Tên lớp là kiểu người nhận ( Stringlớp trong ví dụ của chúng ta). Các thistừ khóa bên trong hàm mở rộng đề cập đối tượng nhận.

Nếu bạn cần tích hợp Kotlin trên đầu dự án Java, bạn không cần phải sửa đổi toàn bộ mã thành Koltin. Chỉ cần sử dụng các chức năng mở rộng để thêm các chức năng.

Tuy nhiên, việc lạm dụng quyền lực của các chức năng mở rộng là khá dễ dàng. Chúng tôi khuyên bạn nên kiểm tra các tài nguyên này để tìm hiểu khi nào nên sử dụng tiện ích mở rộng và khi nào không nên:

  • Các phương thức mở rộng và thuộc tính tiện ích mở rộng có xấu không?
  • Làm thế nào để lạm dụng các chức năng mở rộng Kotlin?

thú vị bài viết...