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!