Funkcja rozszerzenia Kotlin (z przykładami)

Spisie treści

W tym artykule nauczysz się rozszerzać klasę o nowe funkcje przy użyciu funkcji rozszerzających.

Załóżmy, że musisz rozszerzyć klasę o nowe funkcje. W większości języków programowania albo wyprowadzasz nową klasę, albo używasz do tego jakiegoś wzorca projektowego.

Jednak w Koltinie można również użyć funkcji rozszerzenia, aby rozszerzyć klasę o nową funkcjonalność. Zasadniczo funkcja rozszerzająca jest funkcją składową klasy zdefiniowaną poza klasą.

Na przykład, musisz użyć metody do klasy String, która zwraca nowy łańcuch z usuniętym pierwszym i ostatnim znakiem; ta metoda nie jest jeszcze dostępna w Stringklasie. Możesz użyć funkcji rozszerzenia, aby wykonać to zadanie.

Przykład: Usuń pierwszy i ostatni znak ciągu

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

Po uruchomieniu programu wynik będzie następujący:

 Pierwsza postać to: ello Everyon

W tym przypadku ()do Stringklasy dodawana jest funkcja rozszerzająca removeFirstLastChar .

Nazwa klasy to typ odbiorcy ( Stringw naszym przykładzie klasa). Słowo thiskluczowe wewnątrz funkcji rozszerzającej odnosi się do obiektu odbierającego.

Jeśli potrzebujesz zintegrować Kotlin na szczycie projektu Java, nie musisz modyfikować całego kodu do Koltina. Po prostu użyj funkcji rozszerzeń, aby dodać funkcje.

Biorąc to pod uwagę, dość łatwo jest nadużywać mocy funkcji rozszerzeń. Zalecamy zapoznanie się z tymi zasobami, aby dowiedzieć się, kiedy używać rozszerzeń, a kiedy nie:

  • Czy metody i właściwości rozszerzeń są złe?
  • Jak nadużywać funkcji rozszerzenia Kotlin?

Interesujące artykuły...