Quelle est la différence entre un bloc init et un constructeur en Kotlin ?
Bonjour ! Je viens de commencer à apprendre Kotlin après Java et je suis confronté à une confusion. En Java, nous avons des constructeurs où nous initialisons les champs. En Kotlin, je vois qu'on peut utiliser à la fois des constructeurs (primaire et secondaires) et des blocs `init` spéciaux. Mais je ne comprends pas complètement pourquoi les blocs `init` sont nécessaires si tout peut être fait dans le constructeur ?
Par exemple, j'ai ce code :
```kotlin
class Person(name: String) {
val name: String
init {
this.name = name.uppercase()
}
}
```
Pourquoi ne pas simplement écrire `init` dans le corps du constructeur, comme en Java ? Ou encore cet exemple :
```kotlin
class Rectangle(val width: Int, val height: Int) {
val area: Int
init {
area = width * height
}
}
```
Peut-on le faire directement dans le constructeur primaire ? Quelle est la différence fondamentale entre `init` et le constructeur ? Quand utiliser quoi ? Et que se passe-t-il si la classe a plusieurs blocs `init` et des constructeurs secondaires — dans quel ordre s'exécutent-ils ?
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Clean Code en Go : principes et exemples pour débutants — partie 1
Comment réussir un entretien TypeScript : les meilleures questions
Déploiements Canary en Go : un déploiement sécurisé sans crainte
Comment ajouter un élément à un tableau en JavaScript : 5 méthodes avec exemples