1
resposta

Qual a diferença entre o extend e o import de classe?

Acho que o título não deixa minha dúvida clara, mas aí vai:

import { Cliente } from "./Cliente.js";
import { Conta } from "./Conta.js"; 

export class ContaCorrente extends Conta{ // através do extends que usamos aqui da Conta, podemos pegar o código daquele arquivo e trazer para cá.
    static numeroDeContas = 0;
    constructor(cliente, agencia){
        super(0, cliente, agencia);
        ContaCorrente.numeroDeContas += 1;
    }
}

Esse código feito durante a aula, nos ensina que para importamos o código da classe Conta usamos o extends. Perfeito, mas aulas antes a gente já tinha importado informações de uma classe, fizemos isso com a classe Cliente e não usamos o o extends, apenas referenciamos ela durante o código.

Uma dúvida bônus aqui é que conforme as outras classes como: ContaPoupana e Conta estão acessando informações da classe Cliente sem o import.

Desculpa se a dúvida parece ser idiota, é que sou bem noob mesmo hahaha. Agradeço a anteção.

(Dúvidas referentes a aula de Herança no curso: JavaScript - Interface e herança em orientação a objetos).

1 resposta

Oi Bruno.

Tudo bem ?

Cara, nenhuma pergunta é idiota, a pior coisa a se fazer é acabar ignorando a dúvida e não correr atrás das respostas.

Bom eu vou tentar explicar.

Quando você usa somente o import você só tem acesso aos métodos, mas quando se usa o extends, a sua classe ContaCorrente vai extender da Classe conta, herdando propriedades e métodos.

Usar o extends faz parte do conceito de programação orientada ao objeto, onde sua classe acaba herdando métodos e propriedades da classe pai.

Isso evita também que certas propriedades sejam acessíveis a qualquer outra classe.

Espero ter ajudado um pouco na explicação..

:D

Boa sorte com os estudos.