У цій статті ви навчитеся розширювати клас новою функціональністю за допомогою функцій розширення.
Припустимо, вам потрібно розширити клас новою функціональністю. У більшості мов програмування ви або отримуєте новий клас, або використовуєте для цього якийсь шаблон дизайну.
Однак у 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?