Тёмный

Construtor - Curso Java POO Aula #7 

Academia dos Devs
Подписаться 11 тыс.
Просмотров 14 тыс.
50% 1

Está cansando de criar objetos usando os métodos set? Não se preocupe, neste vídeo você irá aprender a criar um Construtor que irá facilitar a criação de objetos no seu projeto. Você irá aprender o que é um Construtor e quais os benefícios em usá-lo, como criar construtores com vários parâmetros e qual a melhor forma de fazer isso.
☕Conheça as Caneca do Academia dos Devs:
bit.ly/45HukWR
💭 Faça parte da nossa comunidade no Discord
bit.ly/3USWquR
💬 Redes sociais
Instagram: / academiadosdevs
Tiktok: / academiadosdevs
Outras redes: beacons.ai/academiadosdevs
Log ⏱:
0:00 Criando classes e objetos sem construtor
5:24 Construtor
9:25 Definindo valores iniciais
12:00 Como chamar outros métodos no Construtor
14:19 Construtor com um parâmetro
17:07 Construtor com vários parâmetros
19:52 Boas práticas na criação de métodos
21:49 Exemplo prático usando Construtor

Опубликовано:

 

10 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 88   
@AcademiadosDevs
@AcademiadosDevs Год назад
Ei Dev, beleza? Agora temos um servidor no Discord para vocês tirarem dúvidas e compartilharem conhecimentos: discord.gg/wz57R2c2XF Até mais e bons estudos ;)
@user-it8mz5vc3d
@user-it8mz5vc3d 2 месяца назад
Tenho acompanhado suas aulas até aqui, e o que tenho a dizer é parabéns, cara você está conseguindo explicar coisas complexas de um jeito tão simples, muito obrigado pela iniciativa, entregar esse conteúdo de graça é bem útil, valeu mesmo ❤
@AcademiadosDevs
@AcademiadosDevs Месяц назад
Muito bom obrigado e que bom está curtindo. Bons estudos pra você.
@user-tn9vr5ux7s
@user-tn9vr5ux7s 3 дня назад
Top demais a aula El Gato da programação hahah
@BrenoPereira
@BrenoPereira 2 года назад
Venho aqui agradecer pela sua forma de explicar, pois comecei a estudar Java recentemente e paguei um curso que nem através dele eu não conseguia entender como funcionava os construtores, assisti muitos vídeos e mesmo assim não entrava na cabeça, foi eu assistir seu vídeo que tudo ficou facil e clareou meu entendimento. Muito obrigado Lucas, muito sucesso na sua vida!
@AcademiadosDevs
@AcademiadosDevs Год назад
Muito obrigado, de verdade! Que bom que está te ajudando! Sucesso para você também e bons estudos ;)
@johnholmes8319
@johnholmes8319 Месяц назад
PessoaSupersayajin eu não tankei kkkkkkkkkkkkkkkkkkkkkkkkkk
@AcademiadosDevs
@AcademiadosDevs 2 года назад
Pessoal, conforme o amigo Wellington Domiciano comentou, eu errei no vídeo, o termo correto é Construtor e não "Método Construtor", apesar do Construtor se parecer com um método, ele não é haha. Fiz a correção no título e na thumb. Obrigado mais uma vez pela correção Wellington!
@allsimoes
@allsimoes Год назад
Você poderia explicar essa questão do construtor não ser um método?
@E2021C
@E2021C Год назад
Vc estava certo! Segundo o livro "Java Como Programar - Paul Deitel & Harvey Deitel", 8ª edição, na página 68, eles comentam: "Cada classe que você declara pode fornecer um método especial chamado construtor que pode ser utilizado para inicializar um objeto de uma classe quando o objeto for criado.". Ou seja, é sim um MÉTODO ESPECIAL chamado CONSTRUTOR! Vai ter que voltar o título e thumb como estava antes, rs! Abraço e parabéns pelas aulas. São excelentes!
@wldomiciano
@wldomiciano 3 месяца назад
​@@E2021C Chegando tarde pra responder kk Mas acho que pode ser útil para alguém no futuro. Muito pelo contrário. A correção foi muito bem aplicada. Apesar do renome dos Deitel, eles não são infalíveis e há erros e explicações ruins em seus livros, mas eles evoluem a cada edição, por isso é bom ficar atento. Eu não consegui acesso à oitava edição, mas consegui à nona edição em inglês e, de fato, na seção "3.6 initializing Objects with Constructors" logo no primeiro paragrafo eles afirmam: "Each class you declare can provide a special method called a constructor that can be used to initialize an object of a class when the object is created" Então o Lucas não deveria ter feito a correção e construtores são métodos especiais, certo? Bom, que tal olharmos também o que diz a edição 10 do mesmo livro dos mesmos autores? A edição 10 de Java: How to Program, na seção "3.4 Account Class: initializing Objects with Constructors" diz o seguinte: "Each class you declare can optionally provide a constructor with parameters that can be used to initialize an object of a class when the object is created." Percebeu como o texto mudou? Os próprios Deitel perceberam a falha e se corrigiram. A partir da edição 10 vc não encontra mais eles dizendo que construtores são métodos especiais e eles passam a seguir uma linha de explicação mais parecida com a especificação, em que fica muito claro a distinção entre métodos e construtores. De qualquer forma, o ideal é ir na fonte e a fonte no cado da linguagem de programação Java é a sua especificação. Acho que eu não posso colocar links no comentário, mas se vc pesquisar por "Java specification" será um dos primeiros resultados, está num site da própria Oracle. Bom, o ponto é que o termo "método construtor" não existe na especificação, ele foi inventado, talvez emprestado de outras linguagens. E também, em momento algum um construtor é apresentado como um "método especial". Ao invés disso é sempre muita claro que são conceitos completamente distintos. Vou citar uns trechos do capítulo 8 pra vc ter uma ideia. "The body of a class declares members (fields, methods, classes, and interfaces), instance and static initializers, and constructors" Veja como métodos está ali, agrupado com campo e outros membros e construtor é citado lá no final. Na seção 8.8 é essa a definição de construtor: "A constructor is used in the creation of an object that is an instance of a class" O máximo que essa seção diz em relação à métodos é: "In all other respects, a constructor declaration looks just like a method declaration that has no result" Vc não acha absurdo vc ler "looks just like" (apenas se parece) e interpretar como "É um método especial"? Mas é isso, a especificação deixa os 2 conceitos bem separados e considerar um construtor como um métodos especial é tão absurdo quando sair dizendo que interface é uma classe especial.
@Rafael-ev8lp
@Rafael-ev8lp Год назад
Excelentes vídeos! estou aprendendo bastante.
@AcademiadosDevs
@AcademiadosDevs Год назад
Obrigado, Rafael! Que bom que está curtindo, quero te ver maratonando as próximas aulas 😀
@leekbiel
@leekbiel Год назад
Bom demais!
@clibanezcaldas7615
@clibanezcaldas7615 2 года назад
Muito bom meu amigo!!
@marcelobevilacqua4662
@marcelobevilacqua4662 2 года назад
Legal , Parabéns , estamos em 2022 , eu não li todos comentários , mas se ninguém informou como gerar os métodos (get e set ) na posição desejada , é só clicar com o botão direito do mouse na posição que desejar e escolher os passos seguintes de criação dos mesmos.Obrigado todos videos são super úteis.
@AcademiadosDevs
@AcademiadosDevs Год назад
Toppp, obrigado Marcelo!!! ✌✌
@khauefacklam
@khauefacklam Год назад
Show! Valeu professor, obrigado
@valmirarozalino
@valmirarozalino Год назад
Valeu pela ajuda, 👏👏👋👋
@welbert4266
@welbert4266 Год назад
Gostei de mais,
@danieelsodree
@danieelsodree Год назад
Cara, que aula boa!! 👏👏
@beneditoeduardo3894
@beneditoeduardo3894 Год назад
top!! parabéns pela aula!!!
@felipe_6041
@felipe_6041 2 года назад
Muito obrigado cara
@jardesonwillamy6912
@jardesonwillamy6912 Год назад
Muito bom suas aulas, gostei muito de aprender as novas formas de dar input e output com os comandos: JOptionPane.showinputDialog(); JOptionPane.showinputDialog(null,'message',title,JOptionPane.INFORMATION_MESSAGE);
@lucianop5159
@lucianop5159 2 года назад
conteúdo e explicação de alto nível
@marianasantos9809
@marianasantos9809 2 года назад
Excelente aula, amei.
@igortorquato4740
@igortorquato4740 Год назад
Explica muito bem, obrigado pelo conteúdo!
@fireguiqueen
@fireguiqueen 8 месяцев назад
Parabéns, vídeo está ótimo
@mateuspaz3568
@mateuspaz3568 3 месяца назад
Ótima aula!
@marcosrogerio_oficial
@marcosrogerio_oficial 2 года назад
Caramba seus videos são muito bons e explicativo Parabéns! Continua trazendo mais conteúdo assim! :)
@aosiudusehwufh
@aosiudusehwufh 8 месяцев назад
Brabo.
@ricardoricarte1776
@ricardoricarte1776 Год назад
Ótima didática, explica os detalhes. e explica tb os atalhos, muita produtividade.
@AcademiadosDevs
@AcademiadosDevs Год назад
Obrigado, Ricardo! Bons estudos ;)
@adrianonocanada
@adrianonocanada Год назад
24:10 todo mundo respondendo junto :D
@AcademiadosDevs
@AcademiadosDevs Год назад
😆
@multipermiso
@multipermiso 2 года назад
Parabens pelo seus videos, a didatica é muito boa mesmo, tô conseguindo aprender conceitos que levo tempo tentando entender. muito obrigado!!
@AcademiadosDevs
@AcademiadosDevs 2 года назад
Muito obrigado pelo feedback, bons estudos ;)
@Lucaslima-gs2po
@Lucaslima-gs2po Год назад
Estou fazendo o curso inteiro de orientacao a objetos em java pelo seu canal, mano dev. estou amando a experiencia, aprendendo muita coisa com estas aulas. muito obrigado mesmo por todo conteudo, por todo conhecimento passado nestes videos. eu aprendi a progamar em C, mas so agora estou estudando a POO. estou no segundo semestre do meu curso de desenvolvimento de sistemas. Quando eu estiver na minha primeira vaga de dev junior, voltarei aqui e darei um parecer da minha experiencia
@AcademiadosDevs
@AcademiadosDevs Год назад
Muito obrigado pelos elogios 🤩 Te desejo boa sorte nos estudos, continua focado que você vai longe. Fico no aguardo do seu relato do primeiro emprego na área 😉
@Lucaslima-gs2po
@Lucaslima-gs2po Год назад
atualmente eu estou de férias do meu curso de desenvolvimento de sistemas no SENAI, mas ja estou estudando por fora e como neste semestre em que estou entrando vou ver java no back com orientação a objetos e no frontend com html,css e javascript, optei por dar um start nessa linguagem incrível e super maleável. Novamente estou agradecendo por todo conteúdo disponibilizado, estou estudando muito por ele e por outros, ja fiz alguns sistemas de hospitais, clinicas veterinárias q tiveram varias necessidades em C, mas vejo q em java é muito mais completo. Valeu🤩
@augustowhitaker6731
@augustowhitaker6731 2 года назад
Pô nunca mais fez vídeos,que pena o conteúdo é dos melhores.
@AcademiadosDevs
@AcademiadosDevs 2 года назад
Simm, desculpa pelo ausência, mas pretendo voltar nessa semana o/
@dotzawer
@dotzawer 8 месяцев назад
Eu captei a utilidade do construtor através do seu vídeo, coisa que em outras aulas pela internet afora não consegui. Obrigado.
@AcademiadosDevs
@AcademiadosDevs 7 месяцев назад
Fico feliz de saber que você curtiu e está aprendendo! Se surgir dúvidas, pode comentar no vídeo ou mandar no nosso servidor do discord. discord.gg/Cn9cYndG
@stelasantos2661
@stelasantos2661 10 месяцев назад
Que didática boa, sensacional! Para não , ta ajudando muita gente
@AcademiadosDevs
@AcademiadosDevs 8 месяцев назад
Estou voltando hahah E obrigado pelos elogios :D
@porqueue
@porqueue 11 месяцев назад
Cara, seus videos são muito bons, parabéns
@AcademiadosDevs
@AcademiadosDevs 10 месяцев назад
Muito obrigado 😁
@YuriCalinoHipolitoPereira
@YuriCalinoHipolitoPereira Год назад
Cara muito obrigado pelos seus videos, serio mesmo , de coração
@AcademiadosDevs
@AcademiadosDevs Год назад
Valeuuu Yuri, bons estudos para você ✌🏼
@gabrielo144
@gabrielo144 Год назад
Muito bom mano, parabens
@AcademiadosDevs
@AcademiadosDevs Год назад
Valeuu, bons estudos pra você, Gabriel!
@Amandadoc
@Amandadoc 2 года назад
Muito bons seus videos ... maratonei todos e estou esperando pelo proximo E indico com certeza....
@AcademiadosDevs
@AcademiadosDevs 2 года назад
Obrigado Amanda, pode deixar ;)
@marcos_vini43921
@marcos_vini43921 Год назад
Seus vídeos são muito interessantes, mesmo eu tendo vindo para reforçar o conhecimento na área, ainda me ajudou muito, o método de explicação é muito bom, Parabéns pelo trabalho.
@AcademiadosDevs
@AcademiadosDevs Год назад
Muito obrigado, Marcos! Que bom que curtiu 😁
@Vitooooor
@Vitooooor Год назад
Muito massa a aula, tá me salvando muito!!! Adoro as referências a DBZ KKKKKKK Didática muito boa, parabéns!!
@AcademiadosDevs
@AcademiadosDevs Год назад
Valeuu Vitor, aguardo os +8000 likes seus.
@danielsilvanocarrazzoni6523
@danielsilvanocarrazzoni6523 2 года назад
Parabéns pela iniciativa dos videos são muito bons e sua didática é ótima. Seja feliz e obrigado por partilhar um material tão bom. Outra coisa para criar os métodos Getters e Setters na linha correspondente no meu caso aqui é apenas deixar o cursor na linha que deseja e depois cria-los que eles ficam na posição certa. Grande abraço e segue fazendo teus videos são show !
@AcademiadosDevs
@AcademiadosDevs 2 года назад
Obrigado Daniel pelos elogios e pela dica! Abraço e sucesso pra você 😉
@paulohenrique8869
@paulohenrique8869 7 месяцев назад
Prazer, novamente aqui e realmente sobre construtores. Tenho dúvida, criamos classe, com seus respectivos atributos, depois criamos o construtor, mas se não entrar nenhum dado para esse construtor, ele irá receber o valor padrão da variável? String recebe null, inteiro recebe 0, double recebe 0.0 e lógico recebe true. Estou correto? Obrigado. Você ensina muito bem.
@AcademiadosDevs
@AcademiadosDevs 7 месяцев назад
Exatamente! Quando você cria um objeto que não teve seus atributos alterados através do construtor ou métodos (set ou outro método), caso você não inicialize os atributos na própria declaração da classe, eles terão os seus atributos padrão. Mas você também pode inicializar os atributos da classe sem utilizar o construtor, por exemplo: private String nome = "Paulo Henrique"; private int idade = 18;
@PedroSouza-uc6ys
@PedroSouza-uc6ys 2 года назад
Faz vídeo de herança, hierarquia e relacionamentos. Vai ajudar bastante 👊
@AcademiadosDevs
@AcademiadosDevs 2 года назад
Belezaa Pedro, já está na fila!
@Damadori
@Damadori Год назад
Top sempre, mas colocando os temas em pauta em legendas na tela o que você está aborando seria legal, esteticamente mais organizado e quando fechar, jogar na tela de novo nome por nome de cada metodo e jeito de importar o pacote que voce fez. Sem explicar de novo, so mencionar. Se não no final, no começo do video tambem. E como aprendizem é ciclo, é bem legal ver você fazer referências anteriores, quando aprecer um assunto mais complexo durante, voce realmente ignora e diz pra gente que uma outra hora você vai abordar. Tipo um "System.format" do nada como se fosse natural e vidente ao longo dos videos. Mas reinforço, estou assistindo video por video, e tem sido essencial aqui na minha faculdade, mudei de letras pra computação, rs, mas pra eu entender conceitos e discursos muito abstratos quando em leitura. E seu jeito de explicar é muito...cativante, alem de ter uma carisma e uma paciência notável, e um passo a passo bem didático, parabéns! De professor, para professor. :) Fica o feedback s2
@AcademiadosDevs
@AcademiadosDevs Год назад
Muitíssimo obrigado, Raphael! Gostei muito do seu feedback, mas fiquei em dúvida em alguns pontos que você comentou. Se possível, gostaria de entender melhor, preferencialmente no chat do Discord: discord.gg/jTSpSRhy Lá você pode tirar dúvidas também. Abraço e bons estudos ;)
@nailton2115
@nailton2115 Год назад
Também não sei como gera os Getters e Setters onde quero, mas seleciono todo o bloco e com ALT pressiono a seta para baixo, vai pulando as demais linhas e re-ordenando.
@paulohenrique8869
@paulohenrique8869 7 месяцев назад
E quando temos mutos construtores? Para cada variável que não receber valor, por exemplo, idade não tem um valor, faço um construtor se esta variável, se for altura, tenho de fazer um construtor sem altura, se tenho um terceiro construtor diferente, e assim por diante. Tenho dez variáveis, se faltar uma variável, terei de fazer 10 construtores para cada variável que faltar ou que for 0 ou nula?
@AcademiadosDevs
@AcademiadosDevs 7 месяцев назад
Não precisa. Todo atributo de classe já tem um valor padrão caso você não defina ele. Um atributo int se você apenas criar sem valor, terá por padrão o valor 0. Você apenas adiciona no construtor caso queira que ela comece com um valor diferente. E você irá criar mais de um construtor apenas se você quiser passar parâmetros externo para dentro do objeto.
@williamcarvalhoCoelho
@williamcarvalhoCoelho Месяц назад
As boas praticas do sonar indicam que um método pode receber até 7 parâmetros, passou disso melhore seu codigo
@luryportela2626
@luryportela2626 6 месяцев назад
Obrigado por esses bons ensinamentos! Como assessar o vosso servidor Discord?
@AcademiadosDevs
@AcademiadosDevs 6 месяцев назад
Segue o link do servidor do Discord : discord.com/invite/Pm6wUXCKxm
@aureobatistafilho1845
@aureobatistafilho1845 3 месяца назад
class Gerencia_Banco is public, should be declared in a file named Gerencia_Banco.java como resolver isso
@AcademiadosDevs
@AcademiadosDevs 3 месяца назад
No Java eles te forçam a criar uma classe com o mesmo nome do arquivo. Você definiu a classe Gerencia_Banco, então você é obrigado a renomear esse arquivo para Gerencia_Banco.java
@nicolasmedeiros3307
@nicolasmedeiros3307 Год назад
no meu VS Code quando dou Alt + Insert ele gera automaticamente os métodos getters e setters, na linha em que estou com o cursor do mouse. Não sei se todos fazem isso kkkk já passou 1 ano né talvez já tenha aprendido kkkk mas vai que alguém novo não sabe...
@AcademiadosDevs
@AcademiadosDevs Год назад
Boa dica! Confesso que não conhecia esse atalho, pode ser novidade das novas versões ou já existia antes kkkk
@NATALIA5162
@NATALIA5162 Год назад
Por que o método do construtor não pode ser void?
@AcademiadosDevs
@AcademiadosDevs Год назад
No vídeo eu disse "método construtor", mas o correto é apenas construtor. Apesar de parecer um método, ele não retorna nada, apenas constrói o objeto. Por isso que não precisa falar o tipo do retorno do "método"
@bernardev3
@bernardev3 Год назад
8:57 Já nasce com 47 anos e 2 metros de altura kkkkkkk
@brunogustavo3502
@brunogustavo3502 Год назад
Só não entendi uma coisa! O construtor chama o método imprimirDados(), antes mesmo do imprimirDados (), ser criado.
@AcademiadosDevs
@AcademiadosDevs Год назад
Ótima pergunta! Quando você compila o seu código e executa, é como se o Java fizesse um varredura em todo o seu código, criando todas as classes e métodos que você definiu. Depois começa a execução, começando pelo método main, inicialização de classes (chamando os métodos construtor) etc. Em resumo, quando executar o seu projeto, o construtor já sabe da existência dos outros métodos. Ficou um pouo confuso né? 😅
@lacrador_idiota
@lacrador_idiota 2 года назад
Bob esponha
@AcademiadosDevs
@AcademiadosDevs 2 года назад
calça quadrada
@narniagames7258
@narniagames7258 Месяц назад
nasceu uma pesssoa de 2 metros e 25, com 47 anos de idade lkkkkkkkkkk deve ter sido cesáriana kkkkkkkkkkkkk
@DanielOliveira-pe1hy
@DanielOliveira-pe1hy 2 года назад
Maratonei seus videos hoje, muiitos bons serio mesmo, parabens cara. Se possivel faz dps um video com entrada de dados pelo usuário, no caso vc usou esse dai, mas teria outros?, conheço o java.util.scanner, qual a diferença e qual o melhor?
@AcademiadosDevs
@AcademiadosDevs 2 года назад
Valeu, Daniel. O Scanner é para você ler um valor pelo terminal, se o seu programa irá rodar apenas no Terminal, ele servirá bem. Agora imagine você fazendo um programa para um usuário qualquer usar, concorda que usar uma interface gráfica (uma janela com botões, campos de texto etc) é bem melhor de usar? Eu uso JOptionPane apenas para deixar a aula mais interessante (sem contar que é bem fácil de usar). As aulas de como criar interface gráfica já estão na fila, mas respondendo a sua pergunta, não tem melhor ou pior, vai da sua preferência mesmo.
@DanielOliveira-pe1hy
@DanielOliveira-pe1hy 2 года назад
Po cara valeu mesmo, se tivesse o negócio de ser membro virava para ajudar seu trabalho
@DanielOliveira-pe1hy
@DanielOliveira-pe1hy 2 года назад
Você possui algum canal de contato?
Далее
🤯 #funny
00:20
Просмотров 2,6 млн
Criando Métodos em Java -  Curso Java POO Aula #3
32:17
Polimorfismo e Herança com java
28:07
Просмотров 10 тыс.
Encapsulamento em 10 minutos
10:19
Просмотров 25 тыс.