No exemplo as duas classes estão no mesmo código (eu não tive essa dúvida antes porque estava seguindo o raciocínio da classe criada durante o curso I), mas se eu for criar minhas classes preciso entender melhor como as classes podem ser ligadas por arquivos diferentes, sem perder as referências, se esse arquivo estivesse dividido?
<script>
class Aviao {
constructor(nome) {
this._nome = nome;
}
voa() {
alert(`${this._nome} está voando`);
}
ligaMotor() {
console.log('liga o motor');
}
fechaPortas() {
console.log('Portas sendo fechadas');
}
}
class Passarinho {
constructor(nome) {
this._nome = nome;
// guarda uma instância de avisão
this._aviao = new Aviao(nome);
}
voa() {
// usa o método voa de Aviao
this._aviao.voa();
}
}
</script>