Solución de inheritance básica de Kotlin

¿Cómo hago una nueva count de SavingAccount con valores init para el owner y el balance

 open class BankAccount(val owner: String = "Long John Silver", private var balance: Double = 0.00) { constructor (amount: Double) : this() { this.balance = amount } fun deposit(amount: Double){ this.balance += amount } fun withdraw(amount: Double){ this.balance -= amount } fun getBalance(): Double{ return this.balance } } 

Y la class de niños

 class SavingAccount(val increasedBy: Double = 0.05): BankAccount(){ fun addInterest(): Unit{ val increasedBy = (this.getBalance() * increasedBy) deposit(amount = increasedBy) } } 

y en principal

 fun main(args: Array<String>) { val sa = SavingAccount();// how to do this SavingAccount("Captain Flint", 20.00) println(sa.owner) println(sa.owner) } 

¿Cómo puedo crear SavingAccount para un nuevo usuario, sin valores pnetworkingeterminados?

Puede implementarlo con Argumentos de Constructor ordinarios (por lo tanto, no tiene Propiedades) y pasarlos a su BankAccount

 class SavingAccount(owner: String, balance: Double, val increasedBy: Double = 0.05 ): BankAccount(owner, balance) { } 

Los valores pnetworkingeterminados para SavingAccount pueden definirse de forma similar a BankAccount :

 class SavingAccount(owner: String = "Default Owner", balance: Double = 0.0, val increasedBy: Double = 0.05 ): BankAccount(owner, balance) { } 

Cambia tu statement de class a

 class SavingAccount(owner: String, balance: Double, val increasedBy: Double = 0.05): BankAccount(owner, balance)