Como a contagem de totalContas funciona nesse exercício, tendo em vista que não vejo nada que ligue o var totalContas a ContaCorrente, ContaPoupanca etc? É o fato dele herdar de Conta?
package br.com.alura.bytebank.modelo
var totalContas = 0
private set
abstract class Conta(
var titular: Cliente,
val numero: Int
) {
var saldo = 0.0
protected set
init {
println("Criando conta")
totalContas++
}
fun deposita(valor: Double) {
if (valor > 0) {
this.saldo += valor
@@ -23,4 +31,43 @@ abstract class Conta(
}
return false
}
}
class ContaCorrente(
titular: Cliente,
numero: Int
) : Conta(
titular = titular,
numero = numero
) {
init {
totalContas++
}
override fun saca(valor: Double) {
val valorComTaxa = valor + 0.1
if(this.saldo >= valorComTaxa){
this.saldo -= valorComTaxa
}
}
}
class ContaPoupanca(
titular: Cliente,
numero: Int
) : Conta(
titular = titular,
numero = numero
) {
init {
totalContas++
}
override fun saca(valor: Double) {
if(this.saldo >= valor){
this.saldo -= valor
}
}