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
- Anulando la misma firma de diferentes intefaces
- ¿Es una 'propiedad' privada un 'campo'?
- ¿Cuál es el propósito de la class vacía en Kotlin?
- ¿Los modificadores de acceso de Kotlin significan lo mismo que en Java?
- Kotlin - ¿Es posible inicializar el object compañero antes del bloque de inicio en una class?
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?
- ¿Es un tipo de propiedad implícita igual con un tipo de propiedad explícito?
- Herencia en Kotlin
- Entendiendo los rasgos en Kotlin
- ¿Puedo actualizar un object inmutable profundamente nested sin tomar conciencia de su context?
- Constructor en Kotlin
- Tipos de unión / interfaces de extensión
- Parámetros de Clase abstracta vs. Lambda
- ¿Se ha generado el método toString para include miembros de la class base?
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)