2
respostas

[Dúvida] Estou perdido nos parâmetros e escopo!!!

Gente...estou na aula de Parâmetros e Escopo, porem não entendi ABSOLUTAMENTE NADA, usei os mesmo exemplo mostrado na video aula, sobre a laranja, mas são muitos nomes: "isMadura", "DiasParaMadura", "DiasDesdeColheita", "QuantosDiasFaltam", tudo isso tendo que encaixar de uma forma correta em uma sequência correta, enfim...por mais que os nomes se expliquem por si só, tá tudo muito confuso pra mim, agradeço muito se alguém puder me explicar.

2 respostas

Olá, Pedro! Entendo que a questão dos parâmetros e escopo pode parecer um pouco confusa no início, mas não se preocupe, é normal e com a prática vai ficar mais claro.

Vamos tentar descomplicar isso juntos. O exemplo da laranja que você mencionou é uma maneira de entender como os parâmetros funcionam na programação orientada a objetos.

Imagine que temos uma classe chamada "Laranja". Essa classe tem propriedades (parâmetros) como "isMadura", "DiasParaMadura", "DiasDesdeColheita" e "QuantosDiasFaltam". Cada uma dessas propriedades representa um aspecto diferente da laranja.

  • "isMadura" é um parâmetro booleano que indica se a laranja está madura ou não.
  • "DiasParaMadura" é um parâmetro inteiro que indica quantos dias leva para a laranja amadurecer.
  • "DiasDesdeColheita" é um parâmetro inteiro que indica quantos dias se passaram desde que a laranja foi colhida.
  • "QuantosDiasFaltam" é um parâmetro inteiro que indica quantos dias faltam para a laranja amadurecer.

Agora, o escopo é onde esses parâmetros podem ser acessados. Se um parâmetro é definido dentro de um método, ele só pode ser acessado dentro desse método. Se é definido na classe, ele pode ser acessado em qualquer lugar da classe.

Por exemplo, se tivermos um método na classe Laranja chamado "CalcularDiasParaMadura", e dentro desse método tivermos uma variável chamada "dias", essa variável só pode ser acessada dentro desse método. Isso é o que chamamos de escopo local.

Por outro lado, se "DiasParaMadura" é definido na classe Laranja, ele pode ser acessado em qualquer método dentro da classe Laranja. Isso é o que chamamos de escopo de classe ou escopo global.

Espero que essa explicação tenha ajudado a esclarecer um pouco mais sobre parâmetros e escopo. Lembre-se, a prática é a chave para entender esses conceitos, então continue tentando e não desista!

Espero ter ajudado e bons estudos!

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeMatheus, eu fiz esse código aqui, depois de quebrar muito a cabeça e reler sua explicação varias vezes.

Bom vamos lá...Logo de inicio temos entrada de informações que vão ser ditas pelo usuário, onde pede o nome da fruta, seu peso, quantos dias se passaram desde que ela foi colhida e sua cor.

Logo depois vem a função, ela pega as informações fornecidas e encaminha cada uma baseada nas suas condições.

Primeiro ela imprime na tela o nome da fruta e seu peso, logo em seguida ela pega os dias desde que a fruta foi colhida e compara. A fruta só estará madura a partir de 20 dias, sendo assim:

Se os dias desde colhida forem menor que 20 ela irá dizer que a fruta não está madura, POREM...eu quis me arriscar e ir um pouco além, eu criei uma condição chamada "Madura" cujo valor é o mínimo de dias que ela precisa estar madura, e outra condição chamada "Faltam" que vai subtrair o valor da variavel "Madura" pelos dias desde que ela foi colhida e assim exibir na tela: "A $fruta não está madura, e faltam $Faltam dias para amadurecer".

Se os dias desde colhida forem maior ou igual que 20 e menor ou igual a 40 ela irá dizer que a fruta está madura.

Se os dias desde colhida forem maior que 40 significa que a fruta está podre e ela irá dizer que a fruta está madura e pede para que o usuário não a consuma.

Por fim usando a variavel cor (usando também a função null safety) descrita pelo usuário, é exibido na tela: "Sua cor atual é $cor".

Muito obrigado pela orientação, espero lhe ver em outras discussões!