No pacote service, criei a classe TaxCalculator. Nela coloquei três métodos estáticos: 1) register: que recebe um Product p; 2) taxCalculateComputer: que chama o método register passando como parâmetro um Computer c; 2) taxCalculateTomato: que chama o método register passando como parâmetro um Tomato t. Pensei em fazer assim, pois Computer e Tomato estendem Product. Acho que nas próximas aula algo desse tipo deve acontecer.
Professor, estava lendo em um artigo sobre o padrão MVC para entende-lo melhor e fiquei com uma dúvida. Em 10:50 o senhor cita o pacote *servico* como regras de negócio, sendo que citou o pacote *dominio* como o Model. Não seria o Model a camada responsável pelas regras de negócio? Fiquei com essa dúvida.
Cara, boa pergunta. No meu ver o MVC é uma separação de responsabilidades, o nome não importa tanto. Se você estudar o MVC do Spring, as regras ficam no controller, não no modelo ou domínio. Eu lembro de ter visto em algumas literaturas que a regra deveria ficar no domínio, porém eu prefiro separar e deixar o domínio como algo que representa o que temos no banco de dados
Professor qual a necessidade de definir na interface o método como abstract? Levantei esse ponto porque nas aulas de interface, você comentou que o contrato que é declarado na interface ele já vem implícito o 'public abstract', e que seria redundante declarar. Tuas aulas são show!!
É o contrato, é assim que interface funciona. A partir da versão 8 do Java isso mudou com métodos default. Agora se você tá perguntando por que eu escrevi explicitamente, por que as pessoas aqui estão aprendendo, as vezes da aula de interface até aqui já deu um branco na galera
com essas aulas consigo ter uma ideia sobre Java ? e outra pergunta: precisa saber disso tudo ??? poderiam citar abaixo o BÄSICO que preciso saber para mexer com Java ?
Cara, eu recomendo você ver a série toda! Programação quanto mais passos tu pular, mais vai fazer falta la na frente!! Você não precisa decorar tudo, mas tem que saber pelo menos o que buscar, como procurar, porque aquilo existe! Com o tempo você vai pegando as manhas, depois dessa maratona, recomendo dar uma olhada ou em Banco de Dados com Java, ou a série de Spring.
Fala William, fui refazer essa aula aqui do zero por conta própria e fiquei com uma dúvida. O cálculo do imposto de cada item (valor * IMPOSTO_POR_CENTO) não deveria estar também na regra de negócio? Abraço!
A premissa do exemplo foi que o o calculo de imposto é uma caracteristica ESPECÍFICA da classe tomate/computador. Então eu estou calculando um imposto especificamente para o tomate. O calculoImposto, poderia ser interpretado como uma regra de negócio se fosse um calculo geral para todas as frutas(isso é uma visão, um exemplo de como pode ser pensado). Estude um pouco sobre "classes anêmicas e classes ricas" pra ter um visão melhor sobre isso
Na linha 22 da CalculadoraDeImposto, quando chama double imposto = tomate.calcImposto; o sout apareceu porém o cálculo ficou na váriavel, qual aula posso assistir para entender melhor essa parte? acho que pulei alguma aula sobre isso, por que o sout apareceu se declaramos o método na variavel
Pelo que eu entendi o return não me da o retorno no console, eu tenho que colocar o método em um 'sout' ou declarar ele em uma variável do mesmo tipo de retorno e da 'sout' na variável, porém o sout que tem no método vai ser chamado na mesma linha que declaro o método na variável certo?
@@lllAlxzlll o 'sout' imprime o que for passado dentro dele no console. Já o return, retorna um valor esperado e esse valor geralmente é guardado em uma variável. Podemos pegar os getters (que é uma função) como exemplo: public String getNome() { return nome; } Você pode ler desse jeito: é uma função 'pública' (pode ser acessada de qualquer lugar), que retorna uma 'String' e se chama getNome. O que ela vai retornar? Vai retornar uma 'String' com nome. Nesse caso da aula, a classe CalculadoraImposto tem um método que chama calcularImposto(Tomate tomate), que recebe um objeto do tipo Tomate, e dentro desse método tem uma variável do tipo 'double' chamada 'imposto'. Essa variável vai chamar o método calcular imposto do objeto tomate (tomate.calcularImposto) que foi passado. Dentro do método calcularImposto() é exibido na tela (através do sout) uma frase e é retornado um 'double' através da fórmula "this.value * IMPOSTO". Sendo assim, a variável do tipo 'double' chamada 'imposto' que está dentro do método calcularImposto, que está dentro da classe CalculadoraImposto, guardará esse valor obtido através do retorno do método calcularImposto() da classe Tomate. Acho que é isso. Acredito que tenha ficado um pouco confuso hahaha mas é que existem dois métodos com nomes iguais e classes diferentes e isso pode gerar alguma confusão!
Tava concentrado na aula de repente "Tomatao DevDojo" kkkkkkkkkkkk ri muito dps voltei a chorar na aula...
momentos de alívio diante do abismo
homem n chora rapaz
@@murilodutra8569 todo homem que diz isso chora escondido
@@catatau6708 -_-
bora!!! 90 ok!!!
até chegar nesse episodio eu escutei a palavra polimorfismo tantas vezes e só pensar na carta polimerização do yu gi oh
Tou ansioso pra começar esse curso!
a chapa tá esquentando. Bora bora
Pega fogo lá em threads e concorrência. Lá é o cachorro amarrado e peia comendo
Aula 90 - OK ✔️
Essa aula que eu tava ansioso pra ver, vambora!!!
Ótima aula
No pacote service, criei a classe TaxCalculator. Nela coloquei três métodos estáticos:
1) register: que recebe um Product p;
2) taxCalculateComputer: que chama o método register passando como parâmetro um Computer c;
2) taxCalculateTomato: que chama o método register passando como parâmetro um Tomato t.
Pensei em fazer assim, pois Computer e Tomato estendem Product. Acho que nas próximas aula algo desse tipo deve acontecer.
Aula 90- OK ✔
Lesson 90 done.
Aula 90 = OK!
Aula 90 - Finalizada!
Aula90 =Ok✅
Gogogo! (07 dez 2024)
Done :-)
Professor, estava lendo em um artigo sobre o padrão MVC para entende-lo melhor e fiquei com uma dúvida. Em 10:50 o senhor cita o pacote *servico* como regras de negócio, sendo que citou o pacote *dominio* como o Model. Não seria o Model a camada responsável pelas regras de negócio? Fiquei com essa dúvida.
Cara, boa pergunta. No meu ver o MVC é uma separação de responsabilidades, o nome não importa tanto.
Se você estudar o MVC do Spring, as regras ficam no controller, não no modelo ou domínio.
Eu lembro de ter visto em algumas literaturas que a regra deveria ficar no domínio, porém eu prefiro separar e deixar o domínio como algo que representa o que temos no banco de dados
Aula 90 ok - 03/11/2022
Aula 90 - 11/06/22 Ok!
Aula concluida 25/10/23
Não entendi direito a Interface Taxavel, não entendi bem pra que ela serve
Feito ✔
Aula 90 - OK
cheguei no aclamado polimorfismo
aqui que dividimos os homens dos meninos
Voltei depois de alguns dias absorvendo os conteudos passados!
Professor qual a necessidade de definir na interface o método como abstract? Levantei esse ponto porque nas aulas de interface, você comentou que o contrato que é declarado na interface ele já vem implícito o 'public abstract', e que seria redundante declarar. Tuas aulas são show!!
É o contrato, é assim que interface funciona. A partir da versão 8 do Java isso mudou com métodos default. Agora se você tá perguntando por que eu escrevi explicitamente, por que as pessoas aqui estão aprendendo, as vezes da aula de interface até aqui já deu um branco na galera
Ele define apenas para nós que estamos estudando entender como é, mas não precisa
Aula 90 = ok
com essas aulas consigo ter uma ideia sobre Java ? e outra pergunta: precisa saber disso tudo ??? poderiam citar abaixo o BÄSICO que preciso saber para mexer com Java ?
Cara, eu recomendo você ver a série toda! Programação quanto mais passos tu pular, mais vai fazer falta la na frente!! Você não precisa decorar tudo, mas tem que saber pelo menos o que buscar, como procurar, porque aquilo existe! Com o tempo você vai pegando as manhas, depois dessa maratona, recomendo dar uma olhada ou em Banco de Dados com Java, ou a série de Spring.
@@whisperscribe valeww
eu tô aprendendo aqui também e acredito que o curso todo é o básico amigo, é a realidade, hoje em dia estão exigindo muita coisa, o curso dele é top
aula 90 ok,
essa bomba tá começando a ficar complicada...
Aula 90 OK! 08/10/2023
Aula 090 - 22/02/2023 - OK !
up
Aula 90 = OK! 05/02/2024
Fala William, fui refazer essa aula aqui do zero por conta própria e fiquei com uma dúvida. O cálculo do imposto de cada item (valor * IMPOSTO_POR_CENTO) não deveria estar também na regra de negócio? Abraço!
A premissa do exemplo foi que o o calculo de imposto é uma caracteristica ESPECÍFICA da classe tomate/computador. Então eu estou calculando um imposto especificamente para o tomate. O calculoImposto, poderia ser interpretado como uma regra de negócio se fosse um calculo geral para todas as frutas(isso é uma visão, um exemplo de como pode ser pensado). Estude um pouco sobre "classes anêmicas e classes ricas" pra ter um visão melhor sobre isso
Aula 90 = OK! 27/12/2022
Aula 90 ok - 01/10/24
Aula 90 - OK ✔ 13/03/2024
aula 090 ok! 24/04/23
aula90 = ok;
aula 90 ok
Tomatão devdojooo
Na linha 22 da CalculadoraDeImposto, quando chama double imposto = tomate.calcImposto;
o sout apareceu porém o cálculo ficou na váriavel, qual aula posso assistir para entender melhor essa parte? acho que pulei alguma aula sobre isso, por que o sout apareceu se declaramos o método na variavel
Pelo que eu entendi o return não me da o retorno no console, eu tenho que colocar o método em um 'sout' ou declarar ele em uma variável do mesmo tipo de retorno e da 'sout' na variável, porém o sout que tem no método vai ser chamado na mesma linha que declaro o método na variável certo?
@@lllAlxzlll o 'sout' imprime o que for passado dentro dele no console. Já o return, retorna um valor esperado e esse valor geralmente é guardado em uma variável. Podemos pegar os getters (que é uma função) como exemplo: public String getNome() { return nome; }
Você pode ler desse jeito: é uma função 'pública' (pode ser acessada de qualquer lugar), que retorna uma 'String' e se chama getNome. O que ela vai retornar? Vai retornar uma 'String' com nome.
Nesse caso da aula, a classe CalculadoraImposto tem um método que chama calcularImposto(Tomate tomate), que recebe um objeto do tipo Tomate, e dentro desse método tem uma variável do tipo 'double' chamada 'imposto'. Essa variável vai chamar o método calcular imposto do objeto tomate (tomate.calcularImposto) que foi passado. Dentro do método calcularImposto() é exibido na tela (através do sout) uma frase e é retornado um 'double' através da fórmula "this.value * IMPOSTO". Sendo assim, a variável do tipo 'double' chamada 'imposto' que está dentro do método calcularImposto, que está dentro da classe CalculadoraImposto, guardará esse valor obtido através do retorno do método calcularImposto() da classe Tomate.
Acho que é isso. Acredito que tenha ficado um pouco confuso hahaha mas é que existem dois métodos com nomes iguais e classes diferentes e isso pode gerar alguma confusão!
@@lllAlxzlll Você pulou a aula getters e setters.
ok = 17/06/2022
Aula 90 = OK!
Aula 90 - OK
Aula 90 = OK!