Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Feedback

Foi o melhor curso que já vi, no sentido de unir o conceito da programação O.O com a prática. Só senti falta deles mostrarem, na prática, o uso das classes em arquivos diferentes.

5 respostas

Oi Erica,

Que bom que você aproveitou o curso! 😊

É ótimo saber que a conexão entre teoria e prática foi clara para você.

Sobre sua sugestão, realmente, organizar classes em arquivos separados é uma prática fundamental em projetos maiores.

Em Dart, isso é feito de forma bem simples, utilizando a palavra-chave import.

Você pode criar um arquivo para cada classe e, em seguida, importar esses arquivos em outros arquivos que precisam usar essas classes.

Por exemplo, se você tem uma classe Cachorro em um arquivo chamado cachorro.dart, você pode usá-la em outro arquivo assim:

// arquivo cachorro.dart
class Cachorro {
  String nome;
  Cachorro(this.nome);
}

// arquivo principal.dart
import 'cachorro.dart';

void main() {
  var meuCachorro = Cachorro('Rex');
  print(meuCachorro.nome);
}

Essa organização ajuda a manter o código mais limpo e modular. 👍

Para saber mais: Documentação oficial do Dart sobre imports e libraries. Este link leva à documentação oficial do Dart, onde você pode aprender mais sobre como organizar seu código em arquivos separados e como usar imports.

Continue explorando e aprofundando seus conhecimentos! 🤔

Olá Luis, muito obrigada pelo retorno e pela sua explicação. Parece uma coisa simples para quem já domina o Dart, mas para um iniciante, pode ser mais complicado. Exemplo, eu tentei criar dois arquivos seguindo a sua instrução com a classe Cachorro, para testar o funcionamento disso, mas não deu certo. Ele sublinha de vermelho a classe que estou importando, como se não existisse o arquivo, mas ele existe, é o arquivo na imagem debaixo. Os nomes dos arquivos estão estranhos, pois eu comecei a fazer essas classes para resolver um exercício de IMC que o Ricarth apresentou, mas estava dando o mesmo erro. Eu fiquei com a dúvida: esses arquivos deveriam estar na mesma pasta para funcionar? eu acho que em Javascript é assim, né, estudei tem alguns anos e não me lembro bem. Pergunto pois, quando eu crio um arquivo Dart no VSCode, ele pede uma pasta vazia, mas dentro dela ele cria outra pasta cheia de arquivos. Então eu tentei criar na mesma pasta, mas ele criou outra. Parece que ele também mudou o nome do arquivo, colocou o nome que eu dei mais um underline e o nome de uma pasta "test" que ele mesmo criou. Como resolve isso para o seu exemplo funcionar corretamente aqui no meu VSCode? P.S. Mesmo quando eu coloco import 'dados_test.dart'; já que ele mudou o nome do arquivo, ocorre o mesmo erro. Desde já agradeço.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Oi Erica,

Problemas com a estrutura de pastas e imports no Dart, é bem comum no início. 😜

Vamos esclarecer:

Tipo de Pastas:

  • bin/: Contém o arquivo principal que será executado.

  • lib/: Contém o código fonte do seu projeto, como classes e funções.

  • test/: Contém os testes do seu projeto.

Estrutura das Pastas:

seu_projeto/
  ├── bin/
  │   └── calculo_imc.dart    (arquivo principal)
  └── lib/
      └── dados.dart          (arquivo com a classe Cachorro)

Arquivos:

  • calculo_imc.dart
// bin/calculo_imc.dart
import '../lib/dados.dart';
// ou import 'package:seu_projeto/dados.dart';

void main() {
  print('Arquivo para chamar a classe Cachorro');
  var meuCachorro = Cachorro('Rex');
  print(meuCachorro.nome);
}
  • dados.dart
// lib/dados.dart
class Cachorro {
  String nome;
  
  Cachorro(this.nome);
}

Para saber mais: Documentação oficial do Dart sobre imports. Este link leva à documentação oficial do Dart, onde você pode aprender mais sobre como organizar seu código em arquivos separados e como usar imports.

Continue praticando e explorando, cada desafio é uma oportunidade de aprendizado 💪!

Oi Luis, muito obrigada novamente, consegui fazer funcionar e realmente era um problema de gerenciamento de pastas criadas automaticamente que eu confesso que ainda não entendi porque o VSCode faz isso, só está atrapalhando. Só funcionou quando eu copiei um dos arquivos manualmente, usando o diretório do Windows mesmo, e colei junto com o outro dentro da pasta bin e eu também tive que deletar os arquivos de mesmo nome que o VSCode criou em lib e test, aliás, os arquivos "test" tinham um código nada haver, com um exemplo de calculadora. Se você conhecer alguma forma de desativar essas pastas e esses códigos "test" que o VSCode gera automaticamente, por favor me fale. Obrigada.

solução!

Oi Erica,

Entendo sua frustração com a criação automática de pastas e arquivos pelo VSCode. 😜

Essa estrutura padrão (bin, lib, test) é uma convenção do Dart para organizar projetos, mas pode ser confusa no início.

O VSCode, ao criar um projeto Dart, segue essa estrutura para separar o código executável (bin), as bibliotecas (lib) e os testes (test).

Para evitar a criação automática dessas pastas, você pode criar um projeto Dart mais simples, sem essa estrutura inicial. No terminal, execute:

dart create -t console-simple seu_projeto

Isso criará um projeto com apenas um arquivo bin/seu_projeto.dart, onde você pode começar a organizar seus arquivos como preferir. 🤔

Quanto aos arquivos "test", eles são gerados para testes unitários, uma prática importante no desenvolvimento de software.

Se você não pretende usá-los, pode simplesmente ignorá-los ou excluí-los.

Lembre-se que, ao importar arquivos, o caminho deve ser relativo ao arquivo que está fazendo o import.

Se você optar por não usar a estrutura padrão, certifique-se de que os caminhos de importação estejam corretos.

Para saber mais: Documentação oficial do Dart sobre organização de projetos. Este link leva à documentação oficial do Dart, onde você pode aprender mais sobre a estrutura de projetos e como organizar seu código.

Continue explorando e não desista! 🧐

tux matrix Caso este post o tenha ajudado, marque-o como solucionado ☑️. Bons Estudos! 🤓