Variabele in een method

Status
Niet open voor verdere reacties.

wernerN

Gebruiker
Lid geworden
29 feb 2016
Berichten
9
Stel je hebt een method om te controleren of het jaartal groter is of gelijk is aan 1900.
oplossing a:
Code:
private int minJaar = 1900;

private boolean controleerJaartal(int jaar){
if(jaar>=minJaar){
return true;
} else {
return false;
}
}
oplossing b:
Code:
private boolean controleerJaartal(int jaar){
private int minjaar = 1900;
if(jaar>=minJaar){
return true;
} else {
return false;
}
}
oplossing a is de variabele aangemaakt bovenaan.
oplossing b is de variabele aangemaakt in de method gezien hij enkel in de method dient gebruikt te worden.

welke is echt juist?
 
Laatst bewerkt door een moderator:
Oplossing a zou de manier zijn die ik zelf zou kiezen (alleen zou ik hem, afhankelijk van de requirements, waarschijnlijk static en final maken). Bij oplossing b wordt voor iedere aanroep van controleerJaar de variable opnieuw aangemaakt.

edit: ik bedoel overigens de variabele minJaar (alhoewel dat eigenlijk ook wel afgeleid kan worden van het feit dat het weinig nut heeft een private method final te maken :p)
 
Laatst bewerkt:
Van de gegeven oplossingen is A de mooiste.

Ik zou echter beide getallen meegeven met de functie en deze dan een stuk globaler maken.
Dit wil zeggen dat ik er "aGroterOfGelijkAlsB" zou noemen. Vervolgens gebruik je deze methode dan in de controleerJaartal methode.

De gehele code ziet er dan als volgt uit (met oplossing a behouden)
Code:
    private boolean aGroterOfGelijkAlsB(int a, int b){
        return a>=b;
    }

    private int minJaar = 1900;
    private boolean controleerJaartal(int jaar){
        return aGroterOfGelijkAlsB(jaar,this.minJaar);
    }

Op deze manier is het een stuk beter te begrijpen wat de code doet. (methoden zo specifiek mogelijk maken)

PS: je ziet dat ik ook de if statement weghaal. Dit omdat een vergelijking (a>=b) een TRUE of FALSE zal teruggeven.
 
Hallo,

Bedankt om te reageren, en idd je kan die if else weghalen, ben zelf nog maar enkele weken bezig met java (vdab).
vandaar dat ik nog niet alles onder de knie heb. Aan sommige dingen moet ik nog wennen als ik het zo mag zeggen zoals
if else weghalen en ineens return doen :)

groetjes
 
Aanvullend.

Als een variabele alleen in een methode gebruikt wordt, moet je de variabele pas in de methode creëren. Buiten de methode heeft de variabele immers geen bestaansrecht.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan