[MÚSICA] [MÚSICA] Olá, bem vindo ao curso Desenvolvimento Ágil com Padrões de Projeto. Eu sou o Clovis Fernandes e, na aula de hoje, iremos prosseguir na parte dois, mostrando aquele problema de falta de expressão da intenção que o construtor tem. Nós vamos agora tornar o exemplo talvez pouquinho mais claro. É a nossa esperança. Para isso, nós iremos introduzir uma nova intenção. Lembrem-se: nós tínhamos a intenção primordial da classe, que era gerar número aleatório, entre mínimo e máximo inclusive, sendo que o mínimo era maior ou igual a zero, ele não pode ser negativo nesse nosso exemplo. Nada impede na realidade de fazer com números negativos obviamente. E agora nós estamos [INAUDÍVEL]. Então era entre o mínimo e o máximo, essa era a intenção inicial. Agora vamos introduzir uma nova intenção. Eu quero gerar número aleatório que esse inteiro aleatório seja maior que o mínimo. Não estou especificando qual é o tamanho do máximo, essa é a intenção. Para isso cada intenção que a gente tem nós precisamos então caracterizar isso através de construtor. Isso é o normal, ou seja, então eu estou propondo novo construtor, agora com parâmetro que é o int min e na minha nos meus comentários, eu coloco que eu estou querendo gerar número inteiro aleatório que seja maior que o valor mínimo. E para isso eu passo apenas o parâmetro int min e estou colocando o integer max value, que é o maior valor inteiro, Eu podia ter colocado qualquer valor 10.000, 5.000, o que fosse necessário para o meu projeto. Assim eu estou deixando aberto para colocar número, determinado número que possa ser o máximo, mas podia ter colocado qualquer valor. O uso agora é, vejam que sempre o construtor, o nome é o nome da classe. Então agora eu estou fazendo, gerando new gerador int aleatório com valor 15. Esse é o valor 15 que eu estou colocando. Então vamos olhar de novo para a nossa o nosso raiozinho. Está batendo encima onde está o problema. Qual que é a intenção, olhando para esse new que foi criando gerador int aleatório com valor 15. O 15 significa o quê? Mínimo? Então eu quero gerar algo que seja maior que 15, algo que seja menor que 15? Eu não sei, suponha que houvesse uma nova intenção que fosse menor que determinado valor máximo, entraria colisão aqui, eu não saberia direito. Então o quê que eu faço? Eu vou ver a documentação do que eu tenho até agora. E lá no comentário está dizendo que é maior que o valor que eu coloco ali que supostamente é o mínimo. Então eu vejo que é isso o que está querendo dizer o comentário do construtor. Mas a intenção está explicitamente colocada aí? De maneira alguma, não está muito claro, eu posso ter dúvida, principalmente se eu tiver outras intenções que eu coloquei com novos construtores, com isso eu fico com aquela dúvida: como resolver esse problema? Eu tenho duas intenções, explicitei através de construtores, não está claro para mim, explicitamente claro isso. Como é que a gente resolve? Na parte três nós iremos mostrar ainda mais, nós vamos enfatizar ainda mais essa necessidade, esse problema da falta de intenção explicita, colocando uma terceira intenção e vamos mostrar também com novo problema de construtor, que essa é a parte específica da parte três. Obrigado. [MÚSICA] MÚSICA]