Construtores e Destrutores - Curso Programação Completo C# - Aula 29

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ธ.ค. 2024

ความคิดเห็น • 57

  • @joseaguiar5707
    @joseaguiar5707 5 ปีที่แล้ว +6

    Cara o curso ta otimo. To correndo atrás de vcs mas ta muito bom foi o melhor que achei aqui.

  • @dennissilva6270
    @dennissilva6270 4 ปีที่แล้ว +3

    Cara que curso top. Fiquei mó feliz agora, quando peguei um programinha que fiz usando as primeiras aulas do curso, tinha 300 linhas, meio mundo de variáveis. E consegui eliminar boa parte das variáveis, reduzi 80 linhas do programa. sem mudar nada no funcionamento

  • @bartsilva5513
    @bartsilva5513 2 ปีที่แล้ว

    caramba mais uma aula muito shoooooooooooooooooooow adoreiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

  • @adamastorrangel5109
    @adamastorrangel5109 4 ปีที่แล้ว +1

    Muito bom TODAS as aulas até aqui !!! Parabéns pelo excelente trabalho, palavras de um iniciante na programação

  • @deividicesarmacielcdeividi3605
    @deividicesarmacielcdeividi3605 4 ปีที่แล้ว +3

    Obrigado professor por todo o seu empenho , às aulas são incríveis

  • @leaords8538
    @leaords8538 3 ปีที่แล้ว +2

    Obg pelo vídeo ❤️

  • @dozeroastartup
    @dozeroastartup 5 ปีที่แล้ว +1

    parabéns novamente por seu conteudo

    • @cfbcursos
      @cfbcursos  5 ปีที่แล้ว

      Valeu meu caro, muito obrigado

  • @marcoaureliosantoscunha9893
    @marcoaureliosantoscunha9893 3 หลายเดือนก่อน

    Boa noite professor, é necessário isar o método construtor em C#? eu pergunto porque na linguagem Java a limpeza dos endereços de memória é altomática.

  • @ramosandresc
    @ramosandresc ปีที่แล้ว

    👍👍👍

  • @jubileudacachaca7777
    @jubileudacachaca7777 ปีที่แล้ว

    É legal lembrar que o detruidor so destroi se nenhum metodo da class estiver sendo usado

  • @maurorossi
    @maurorossi 3 ปีที่แล้ว +2

    #MaratonaCFB 29 episódios em 6 dias!

  • @andersongomes5418
    @andersongomes5418 ปีที่แล้ว

    Entendia aula, mas qual a diferença da aula passada ? Economiza memoria ?

  • @eliezerbernardino5833
    @eliezerbernardino5833 2 ปีที่แล้ว +1

    Ótima aula, porém meu método destrutor não imprimiu no console.
    Usei a dica do amigo adicionando o Console.Read(); Porém não funcionou.
    Estou usando o VsCode

  • @eduu290
    @eduu290 3 ปีที่แล้ว

    no lugar de criar nome1 coloquei o Console.ReadLine(); dentro dos parametros.

  • @brunopaluco
    @brunopaluco 4 ปีที่แล้ว +7

    Eu não entendi o seguinte:
    " public Jogador(string n){
    energia=100;
    vivo=true;
    nome=n;"
    Falamos que nome = n mas não usamos o n nunca mais...
    Quando que aplicamos esse método de novo? Porque não to entendo pra onde vai esse n.
    Assim como a energia=100 e a vivo=true, ele está presente na informação de cada jogador?

    • @jefersonmontalvao6583
      @jefersonmontalvao6583 4 ปีที่แล้ว

      Sim, nome é uma propriedade do jogador.

    • @rogerlopesdasilva
      @rogerlopesdasilva 3 ปีที่แล้ว +1

      O método construtor exige pelo menos um parâmetro de entrada, então o n é a variavel local que foi passada como parâmetro para a variaval nome que é uma variavel global da classe Jogador.
      Tudo que está dentro do método construtor pode ser executado de forma independente, desde que você atribua valores a eles, seja por parâmetro ou seja atribuindo valores.
      energia=100 e vivo=true não foram passados como parâmetro por isso eles não foram exigidos pelo método construtor , baste você imprimir eles la na classe Main.
      Console.WriteLine("Nome do jogador 1: {0}, energia: {1}, vivo = {2}", j1.nome, j1.energia, j1.vivo);
      Console.WriteLine("Nome do jogador 2: {0}, energia: {1}, vivo = {2}", j2.nome, j2.energia, j2.vivo);

  • @nealan.5103
    @nealan.5103 3 ปีที่แล้ว +2

    fiz esse programa pra pegar informações se o jogador ta vivo, qual o nick, e quantas balas ele tem.
    using System;
    namespace Aula01
    {
    public class Jogador{
    public bool vida;
    public int balas;
    public string nick;
    public Jogador(bool v, int b, string n){
    vida = v;
    balas = b;
    nick = n;
    }
    }
    class Program
    {
    static void Main(string[] args)
    {
    string nick1;
    string conferir_vida;
    bool vida1;
    int municao;
    Console.Write("Qual seu nick? ");
    nick1 = Convert.ToString(Console.ReadLine());
    Console.Write("Morto ou Vivo? ");
    conferir_vida = Convert.ToString(Console.ReadLine());
    if (conferir_vida == "vivo"){
    vida1 = true;
    }else
    {
    vida1 = false;
    }
    Console.Write("Quantas balas você tem? ");
    municao = int.Parse(Console.ReadLine());
    Jogador j1 = new Jogador(vida1, municao, nick1);
    Console.WriteLine("Nick: {0}
    Status Vida: {1}
    Qtd.Balas: {2}", j1.nick, j1.vida, j1.balas);
    }
    }
    }

  • @emagrecasaudavelefeliz3393
    @emagrecasaudavelefeliz3393 3 ปีที่แล้ว +2

    Fiz igualzinho o da aula e meu destrutor não apareceu! Estou usando o VS community.

    • @rafamaiertattoo
      @rafamaiertattoo 3 ปีที่แล้ว

      Igual; No visual studio executa mas não imprime. No visual code imprime, exato mesmo código

    • @valdeniraraujo6860
      @valdeniraraujo6860 3 ปีที่แล้ว

      no metodo destrutor acrescente isso dentro das chaves: Console.Read();

    • @rolistonanms6285
      @rolistonanms6285 2 ปีที่แล้ว +1

      @@valdeniraraujo6860 teria como colar aki no comentário o codigo do jeito que você fez? pq Tentei dessa forma aki:
      ~ Jogador ()
      {
      Console.WriteLine("Jogador {0} Foi Destruído", nome);
      Console.Read();
      }
      Mas não funcionou. Se puder colar essa parte do código para que eu possa ver da forma que vc fez, já agradeço.

    • @eloheggendorn1719
      @eloheggendorn1719 24 วันที่ผ่านมา

      Conseguiu?? Usei o ReadKey, fica na tela, mas não destrói os dois, usou o {0} pra puxar o primeiro nome digitando e não substituir

  • @brockr2799
    @brockr2799 5 ปีที่แล้ว

    Boa tarde professor , conclui agora o curso de qt creator , estou com dificuldades de abrir outra main window , por exemplo eu tenho uma janela dialog e não consigo chamar uma janela do tipo main window , teria como me ajudar?

  • @nathpudim13
    @nathpudim13 2 ปีที่แล้ว

    entendi o curso todo, mas a aula passada e essa eu vi e revi várias vezes, n consigo entender

  • @edivandingo
    @edivandingo 3 ปีที่แล้ว

    o meu destrutor não deu certo e tambem nao apareceu nenhuma mensagem de erro. rss
    Estou colocando no gitlab caso o professor quiser posso esta passando o link. ok. obrigado.

    • @valdeniraraujo6860
      @valdeniraraujo6860 3 ปีที่แล้ว

      no metodo desstrutor acrescente isso dentro das chaves: Console.Read();

  • @michelterres
    @michelterres 3 ปีที่แล้ว +1

    Estou usando o Visual Studio e o texto escrito dentro do destrutor não é impresso na tela, vejo que mais pessoas tem o mesmo problema mas não consegui achar uma solução para isso, alguém sabe o que fazer?

    • @valdeniraraujo6860
      @valdeniraraujo6860 3 ปีที่แล้ว +1

      cara eu achei algo dizendo que no c# já existe um metodo que libera a memoria automaticamente, controlado pelo gc (garbage collector) em qual thread isso vai acontecer, nao se sabe.para um aprofundamento maior sobre gerenciamento de memória, existem dois livros seguem os links

  • @alvernepaiva3287
    @alvernepaiva3287 3 ปีที่แล้ว

    Se o construtor cria um objeto de uma determinada classe, e ele deve ter o nome da classe, e o destrutor também, como criariamos algum objeto se o construtor iria criar e o destrutor destruir na mesma pegada, haja vista que ambos os métodos tem o mesmo nome de chamada...?

    • @cristianocosta3167
      @cristianocosta3167 2 ปีที่แล้ว

      Não sei se compreendi bem, mas a sua dúvida é sobre o fato de o constructor e o destructor terem o mesmo nome, como o compilador saberia diferenciar quando criar e quando apagar aquela classe, certo?
      Se for isso, é através da sintaxe que diferencia ambos: o destructor começa com '~', diferente do constructor.
      Outra diferença: no constructor, eu preciso explicitar o modificador de acesso "public", já que o default é private.

  • @GustavoBezerraRodrigues
    @GustavoBezerraRodrigues 4 ปีที่แล้ว +2

    Fiz igualzinho o método destrutor, mas não pegou. Ele não aparece, aconteceu isso com alguém mais?

    • @matheusfioretti9556
      @matheusfioretti9556 3 ปีที่แล้ว

      Está usando o Visual Studio? Pois no meu não aconteceu nada também

    • @IamHerica
      @IamHerica 3 ปีที่แล้ว

      No meu nada aconteceu também

    • @valdeniraraujo6860
      @valdeniraraujo6860 3 ปีที่แล้ว

      no meu vs community também nao funfou

    • @valdeniraraujo6860
      @valdeniraraujo6860 3 ปีที่แล้ว

      no metodo destrutor acrescente isso dentro das chaves: Console.Read();

  • @claudiolopes9413
    @claudiolopes9413 4 ปีที่แล้ว

    Boa noite a todos! Estas aulas são excelentes e estou aprendendo C# como mais uma opção. Estou com um pequeno problema e se alguém puder me ajudar ficarei imensamente grato, quando fecho um programa ao reabri-lo o Visual Studio Code não reconhece os caracteres especiais tipo 'ç', '~', '^'. Se alguém souber como resolver este problema agradeço. Muito obrigado a todos e bons estudos.

    • @leonardobrait1328
      @leonardobrait1328 4 ปีที่แล้ว

      Amigo, não sei a solução, mas é estranho porque aqui o visual studio jamais teve problemas com esses caracteres. Pode detalhar mais?

    • @Kaa1o
      @Kaa1o 4 ปีที่แล้ว

      Olá Claudio Lopes. Já tentasse atualizar o VS Code ou desinstalar e instalar uma nova versão ? Veja também se talvez não tem referência com plugin de tradução para PT-BR visto que por padrão o VS Code vem em inglês.

  • @wverty
    @wverty 3 ปีที่แล้ว

    Professor eu fiz igual está na aula mais no meu terminal na hora de compilar aparecer esse erro "O método deve ter um tipo de retorno" eu já vir a aula 3 vezes mais ainda continua o erro

    • @Igor-bx4qr
      @Igor-bx4qr 3 ปีที่แล้ว +1

      metodo deve estar void,muda isso ae

  • @jugomes1692
    @jugomes1692 ปีที่แล้ว

    Odeio essa parte de construtores, na faculdade me enrolei com isso no JAVA, deu trabalho para entrar na cabeça, no JAVA tem que declarar 2 vezes

  • @pedroxavier6115
    @pedroxavier6115 4 ปีที่แล้ว

    Ele explicou o q é uma instância? Eu n lembro, já q ele fala tanto nesse termo...

    • @okmerendo5175
      @okmerendo5175 4 ปีที่แล้ว

      É quando vc cria um novo objeto de uma classe.

  • @marcosrobertogautama9714
    @marcosrobertogautama9714 ปีที่แล้ว

    Boa Tarde, professor!!!!
    Gostaria, se possível, apesar de tanto tempo, saber porque o "Destruidor no C#" comigo não funciona.
    public class Jogador
    {
    public int energia;
    public bool vivo;
    public string nome;
    public Jogador(string n) // Método Construtor
    {
    energia=100;
    vivo=true;
    nome=n;
    }
    ~Jogador() // Destrutor
    {
    Console.WriteLine("O jogador foi destruido!");
    }
    }

    class Program
    {
    static void Main()
    {
    string nome1;
    Console.WriteLine("Digite o nome do jogador 1:");
    nome1=Console.ReadLine();
    Jogador j1=new Jogador(nome1);
    Jogador j2=new Jogador("Théo");

    Console.WriteLine("Nome do jogador 1 é: {0}",j1.nome);
    Console.WriteLine("Nome do jogador 2 é: {0}",j2.nome);
    }
    }
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Terminal
    ---------------
    Digite o nome do jogador 1:
    Marcos
    Nome do jogador 1 é: marcos
    Nome do jogador 2 é: Théo
    PS C:\Users\Acer\Documents\Programação\C#Curso.Aula29>
    !!!!Muito obrigado!!!!

    • @lucascampos3803
      @lucascampos3803 ปีที่แล้ว

      comigo tambem não funcionou fiquei minutos tentando entender revi a aula e mesmo assim não deu certo

  • @jvbbrasil7713
    @jvbbrasil7713 4 ปีที่แล้ว +1

    O destrutor não funcionou Aqui nao msm seguindo certinho o tutorial kk estranho né

    • @jefersonmontalvao6583
      @jefersonmontalvao6583 4 ปีที่แล้ว

      verifique se você colocou public, pois ele não aceita.

    • @valdeniraraujo6860
      @valdeniraraujo6860 3 ปีที่แล้ว

      no metodo desstrutor acrescente isso dentro das chaves: Console.Read();

  • @andremenezes5123
    @andremenezes5123 3 ปีที่แล้ว

    O meu destrutor não funciona de jeito nenhum, alguem sabe dizer o pq, já procurei no google e não funciona, to fazendo exatamente igual
    using System;
    public class Jogador
    {
    public int energia;
    public bool vivo;
    public string nome;
    public Jogador(string n)
    {
    energia = 100;
    vivo = true;
    nome = n;
    }
    ~Jogador()
    {
    Console.WriteLine("Jogador {0} foi destruido", nome);
    Console.WriteLine("Metodo destrutor funcionando");
    }

    }
    class Aula29
    {
    static void Main()
    {
    string nome1;
    Console.WriteLine("Digite o nome do jogador 1");
    nome1 = Console.ReadLine();
    Jogador j1 = new Jogador(nome1);
    Jogador j2 = new Jogador("Rem");
    Console.WriteLine("Nome do jogador 1: {0}", j1.nome);
    Console.WriteLine("Nome do jogador 2: {0}", j2.nome);
    }

    }

  • @gaiseric.
    @gaiseric. 4 ปีที่แล้ว +3

    queria saber porque todos os professores de informática botam esses nomes fodas; zenifreudo.

    • @cfbcursos
      @cfbcursos  4 ปีที่แล้ว +1

      Kkkkkkk, boa pergunta

  • @joel63622
    @joel63622 5 ปีที่แล้ว

    RECEBI UM EMAIL QUERO SABER A LOZALIZAÇÃO E O FACEBOOK DO CARA QUE ME MANDOU O EMAIL VC CONSEGUE ENCONTRAR?

    • @edivandingo
      @edivandingo 3 ปีที่แล้ว

      ahhhhhhhhhhhhhhh, oque isso tem haver com aula ???

    • @joel63622
      @joel63622 3 ปีที่แล้ว

      @@edivandingo como o que ?

    • @joel63622
      @joel63622 3 ปีที่แล้ว

      @@edivandingo aki é sobre computador entao é sobre o que preciso saber