1
resposta

totalContas

Olá!

Não entendi pq a variavel totalContas quando declarada dentro da função main não é acessível para a classe Conta.

A propósito, pensei que todo o código deveria ser escrito dentro do escopo main. Não era suposto que a leitura do programa iniciasse através do método main ?

1 resposta

Variaveis dentro de funções ficam disponível apenas dentro do escopo em que elas estão, exemplo:

fun main() {

    var totalContas = 0

    fun outraFuncao() {
        var totalGeral = totalContas + 1
    }

}

Como a classe Conta pertence a outro escopo, ela não conhece essa variavel.

Se fosse uma classe main, ao invés de uma função, então aclasse Conta poderia ter acesso a variavel totalContas, se fosse implementado uma instancia dessa classe main

A respeito da sua outra dúvida. Os códigos se iniciam a partir da função main. Se sua dúvida é referente a variavél que é criada dentro da classe conta e é atualizada, mesmo sem ter uma instância propriamente de conta:

Isso acontece porque conta poupança e conta corrente, herdam de conta, por isso ao instaciá-las o código contido em Conta também é executado.