Como usar corretamente construtores secundários em Kotlin? Exemplos e sintaxe
Olá a todos! Comecei a estudar Kotlin depois de Java e me deparei com um problema ao criar classes com vários construtores.
Em Java, eu costumava fazer assim:
```java
public class User {
private String name;
private int age;
public User(String name) {
this.name = name;
this.age = 0;
}
public User(String name, int age) {
this.name = name;
this.age = age;
}
}
```
Mas em Kotlin vejo uma sintaxe estranha com a palavra-chave `constructor` e dois pontos. Tentei escrever algo parecido:
```kotlin
class User {
var name: String = ""
var age: Int = 0
constructor(name: String) {
this.name = name
}
constructor(name: String, age: Int) {
this.name = name
this.age = age
}
}
```
Mas o compilador reclama sobre "primary constructor call expected". Não entendo por que são necessários esses dois pontos com `this` e o que é "delegação".