В тази статия ще се научите да разширявате клас с нова функционалност, използвайки функции за разширение.
Да предположим, че трябва да разширите клас с нова функционалност. В повечето езици за програмиране или извличате нов клас, или използвате някакъв модел на дизайн, за да направите това.
Въпреки това, в 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") )
Когато стартирате програмата, изходът ще бъде:
Първият герой е: ello Everyon
Тук ()
към String
класа се добавя функция за разширение removeFirstLastChar .
Името на класа е типът на приемника ( String
клас в нашия пример). В this
ключова дума вътре функцията за разширение се отнася обекта приемник.
Ако трябва да интегрирате Kotlin в горната част на Java проекта, не е необходимо да променяте целия код в Koltin. Просто използвайте функции за разширение, за да добавите функционалности.
Като се има предвид това, е доста лесно да се злоупотребява със силата на функциите за разширение. Препоръчваме ви да проверите тези ресурси, за да научите кога да използвате разширения и кога да не:
- Лоши ли са методите за удължаване и свойствата на разширението?
- Как да злоупотребявам с разширенията на Kotlin?