English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo articolo, imparerai come estendere le classi con nuove funzionalità utilizzando le funzioni estese.
Supponiamo di voler estendere una classe con nuove funzionalità. In molti linguaggi di programmazione, puoi oDerivare una nuova classe,O utilizzare un qualche design pattern per eseguire questa operazione.
Ma in Kotlin, puoi anche estendere le classi con funzioni estese per aggiungere nuove funzionalità. Fondamentalmente, le funzioni estese sono funzioni membro della classe definite al di fuori della classe.
Ad esempio, hai bisogno diClasse StringIn questo esempio, viene utilizzato un metodo che restituisce una nuova stringa senza il primo e l'ultimo carattere. Questo metodo non esiste nella classe String. Puoi completare questa attività utilizzando una funzione estesa.
fun String.removeFirstLastChar(): String = this.substring(1, this.length - 1) fun main(args: Array<String>) { val myString = "Hello Everyone" val result = myString.removeFirstLastChar() println("Risultato di output: $result") }
Quando si esegue il programma, l'output è:
Risultato di output: ello Everyon
In questo caso, la funzione di estensione removeFirstLastChar () viene aggiunta alla classe String.
Il nome della classe è il tipo del ricevente (nel nostro esempio la classe String). La parola chiave this nell'estensione della funzione si riferisce all'oggetto ricevente.
Se desideri integrare Kotlin in un progetto Java, non è necessario modificare l'intero codice in Kotlin. Basta utilizzare le funzioni estese per aggiungere funzionalità.