Функція розширення Kotlin (з прикладами)

Зміст

У цій статті ви навчитеся розширювати клас новою функціональністю за допомогою функцій розширення.

Припустимо, вам потрібно розширити клас новою функціональністю. У більшості мов програмування ви або отримуєте новий клас, або використовуєте для цього якийсь шаблон дизайну.

Однак у Koltin ви також можете використовувати функцію розширення, щоб розширити клас новою функціональністю. В основному, функція розширення - це функція-член класу, яка визначена поза класом.

Наприклад, вам потрібно використовувати метод для класу String, який повертає новий рядок із видаленим першим і останнім символом; цей метод ще не доступний у Stringкласі. Ви можете використовувати функцію розширення для виконання цього завдання.

Приклад: Видалення першого та останнього символів рядка

 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") )

Коли ви запускаєте програму, результат буде:

 Перший персонаж: Елло Коуон

Тут ()до Stringкласу додана функція розширення removeFirstLastChar .

Назва класу - це тип приймача ( Stringклас у нашому прикладі). thisКлючове слово всередині функції розширення відноситься об'єкт приймач.

Якщо вам потрібно інтегрувати Kotlin поверх Java-проекту, вам не потрібно змінювати весь код на Koltin. Просто використовуйте функції розширення для додавання функціональних можливостей.

З огляду на це, досить легко зловживати повноваженнями функцій розширення. Рекомендуємо перевірити ці ресурси, щоб дізнатись, коли використовувати розширення, а коли:

  • Чи погані методи розширення та властивості розширення?
  • Як зловживати функціями розширення Kotlin?

Цікаві статті...