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 String
klasie. 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 String
klasy dodawana jest funkcja rozszerzająca removeFirstLastChar .
Nazwa klasy to typ odbiorcy ( String
w naszym przykładzie klasa). Słowo this
kluczowe 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?