Programmeren(1)

advertisement
Objectgeoriënteerd
Programmeren
(2)
1
public class Stoel {
// Instance variabelen
int aantalPoten;
int x;
int y;
VB: Java klasse Stoel
//constructor (speciale methode om het object te “maken”)
public Stoel(int poten, int xPositie, int yPositie)
{
aantalPoten = poten;
x = xPositie;
y = yPositie;
}
//methode
public verplaats(int xPositie, int yPositie)
{
x = xPositie;
y = yPositie;
}
}
2
Methoden: Resultaattypen
• Bij een methode moet een
resultaattype worden opgegeven:
– int
– String
– bool
– void -> geen resultaat
Bij resultaattype != void, moet returnstatement
worden ingevoegd
3
Resultaattypen vb
void verplaats(int xPositie, int yPositie)
{
// geen resultaattype (void): voert actie uit
x = xPositie;
y = yPositie;
}
int geefAantalPoten()
{
// wel resultaattype (int): geeft waarde terug
return aantalPoten;
}
4
Overerving
• Klassen kunnen
kinderen hebben
• Een kindklasse erft alle
eigenschappen van zijn
ouder
• Kindklasse kan
eigenschappen
overschrijven van
ouder en/of voegt
eigenschappen toe
5
Overerving (2)
public class Car extends Actor { … }
• Het codewoord “extends” geeft aan
dat Car een kind is van Actor
• Dit kan (want elke Car is ook Actor):
Actor mijnActor = new Car()
• Dit niet (want niet elke Actor is Car):
Car mijnCar = new Actor()
6
Toegangsrechten
• 3 rechtenniveaus
– Public
• Zichtbaar buiten de klasse (dus voor “iedereen”)
– Protected
• Alleen zichtbaar in de klasse zelf en voor de
kinderen van de klasse
– Private
• Alleen zichtbaar voor de klasse zelf
7
Toegangsrechten vb
private int x;
private int y;
protected int aantalPoten;
public void verplaats(int xPositie, int yPositie)
{
if (x-positie > 0)
x = xPositie;
if (y-positie > 0)
y = yPositie;
}
8
Toegangsrechten vb (2)
Stoel mijnStoel = new Stoel(4, 100, 150);
//kan niet: geen toegang, want is protected:
mijnStoel.aantalPoten = 5;
//kan wel, want public:
mijnStoel.verplaats(86,120);
9
private int x;
private int y;
Get- en Set-methoden
public int getX()
Waarde van x kan worden opgevraagd,
{
maar niet worden gewijzigd
return x;
}
public int getY()
Waarde van x kan worden opgevraagd,
{
en worden gewijzigd
return y;
}
public void setY(int yValue)
{
if (yValue >= 0)
y = yValue;
Er is wel beveiliging ingebouwd tegen
else
negatieve waarden
y = 0;
}
10
Download