Programmeren in Java/Klassen: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
k Navigatie sjabloon verwijderd. |
k herschikking en eerste zet tot herschrijven. |
||
Regel 1:
{{Programmeren in Java|Deel=Klassen}}
In dit hoofdstuk zullen we onze eerste klasse aanmaken en kort de basis bespreken. De klasse die we gaan maken is ''Car'' ofwel de auto die we in het vorige hoofdstuk hebben besproken.
==
Een klasse definiëren is redelijk eenvoudig, je gebruikt hiervoor de sleutelwoorden ''public'' en ''class'' dit wordt dan gevolgd door de naam de klasse in ons geval ''Car''. ''class'' zal dus aanduiden dat we klasse gaan definiëren, wat ''public'' betreft daar komen we in een later hoofdstuk op terug. Er wordt dan een openende en sluitende accolade geschreven. Die accolades gaan later de inhoud, dus de eigenschappen en methodes, van de klasse bevatten.
<syntaxhighlight lang="java">
public class Car {
}
</syntaxhighlight>
Klassen kun je in hun eigen Java bestand plaatsen, je moet dan wel als bestandsnaam dezelfde naam geven als de klasse die het bevat. Dus in dit geval ''Car.java''. Nu we de klasse hebben gedefiniëerd en bewaard willen we er een instantie van hebben, we moeten dus een object maken op basis van de klasse. Dit doen we als volgt:
<syntaxhighlight lang="java">
public class Main {
public static void main(String[] args) {
Car myCar = new Car();
}
}
</syntaxhighlight>
Net zoals met primitieve datatypes vermelden we eerst het datatype, in dit geval ''Car'', gevolgd door de naam die we willen geven aan ons object, net zoals gewone variabelnamen. We gebruiken dan het gelijkaanteken(=) om er een waarde aan te koppelen. We moeten dus een nieuwe instantie aanmaken van onze ''Car'' klasse, daarom gebruiken we het sleutelwoord ''new'' opnieuw gevolgd door de naam van de klasse met dan ronde haakje. Bovenstaande code zal uiteindelijk niets op het scherm tonen, want het enige wat we hebben gedaan is een instantie van ''Car'' aanmaken. Wil je controleren of je code goed werkt kun je ''myCar'' laten uitprinten, zoals als volgt:
<syntaxhighlight lang="java" highlight=5>
public class Main {
public static void main(String[] args) {
Car myCar = new Car();
System.out.println(myCar);
}
}
</syntaxhighlight>
Bovenstaande zal iets gelijkaardigs als onderstaande uitprinten.
<pre>
Car@2eda0940
</pre>
==
Nu hebben we wel een klasse, het heeft nog geen enkele functionaliteit. Daarvoor gaan we methodes toevoegen.
==Velden==
Regel 110 ⟶ 72:
== Constructors ==
Een constructor wordt aangeroepen op het moment dat er een nieuwe instantie van een klasse wordt gemaakt. Elke keer als het keyword new wordt gebruikt betekent dit dat er een constructor wordt aangeroepen.
==
De structuur van een class is in feite simpel: binnen de definitie van een class worden velden en methoden beschreven. Over het algemeen zullen deze velden en methoden met elkaar samenhangen.
{{Code
| Taal=Java
| Titel=
| Code=
<syntaxhighlight lang=java> 1: public class
2: private int antwoord = 7;
3:
4: private final
5:
6: aantalPogingen++;
7: if (aantalPogingen > maxPogingenToegestaan) {
8: System.out.println("Maximale aantal pogingen is verbruikt.");
9: }
10: if (getal == antwoord) {
11: System.out.println("Gefeliciteerd!");
12: }
13: if (getal < antwoord) {
14: System.out.println("Hoger, nog " + (maxPogingenToegestaan - aantalPogingen) + " keer raden");
15: }
16: else {
17: System.out.println("Lager, nog " + (maxPogingenToegestaan - aantalPogingen) + " keer raden");
18: }
19: }
20: public HogerLager() { }
21: }
</syntaxhighlight>
}}
Deze class implementeert het spelletje hoger-lager. Om dit te kunnen spelen moet er een te raden waarde zijn, een teller die bijhoudt hoeveel pogingen er geweest zijn, een instelling voor het maximale aantal pogingen dat is toegestaan en een manier om degene die raadt te vertellen wat de uitkomst is. Al deze zaken zijn aanwezig in deze class.
==Pass by value of pass by reference?==
|