< Programmeren in Java
Klassen Design Patterns Appendices |
In onderstaand voorbeeld is de klasse Rekening de verzameling van alle gemeenschappelijke datamembers en methods. De klassen Spaarrekening en Zichtrekening bevatten de gespecialiseerde gegevens. Men spreekt in dit verband ook over generalisatie en specialisatie. De klasse Rekening is de baseclass (of de superklasse of de parentklasse) van de Spaarrekening en de Zichtrekening. De Spaarrekening en de Zichtrekening zijn de subklassen (of de childclasses of de derived- of afgeleide klassen) van de Rekening.
Java-code:
public class Rekening {
private String rekeningNr;
public double saldo;
public Rekening(String nr){ //constructor
rekeningNr = nr;
saldo = 0;
}
public void storten (double bedrag) {
saldo += bedrag;
}
public void afhalen (double bedrag) {
saldo -= bedrag;
}
public void overschrijven(Rekening rek, double bedrag) {
saldo -= bedrag;
rek.storten(bedrag);
}
public double getSaldo() {
return saldo;
}
}
Java-code:
public class ZichtRekening extends Rekening{
private int maxKrediet;
public ZichtRekening(String rnr, int bedrag) { //constructor
super(rnr);
maxKrediet = bedrag;
}
}
Java-code:
import java.util.*;
public class SpaarRekening extends Rekening{
private static double interest;
/** Creates a new instance of SpaarRekening */
public SpaarRekening(String rnr, double interest) { //constructor
super(rnr);
this.interest = interest;
}
public SpaarRekening(String reknr, double interest, double beginSaldo) {
this(reknr, interest);
saldo = beginSaldo;
}
public void storten(double bedrag) {
saldo += bedrag;
}
public void afhalen(double bedrag) {
saldo -= bedrag;
}
public void overschrijven(SpaarRekening spaarRek, double bedrag, Date datum) {
saldo -= bedrag;
spaarRek.storten(bedrag);
}
public void overschrijven(SpaarRekening spaarRek, double bedrag) {
saldo -= bedrag;
spaarRek.storten(bedrag);
}
public double geefSaldo() {
return saldo;
}
private boolean checkNummer(String reknr){
int i1 = Integer.parseInt(reknr.substring(0,3));
int i2 = Integer.parseInt(reknr.substring(4,11));
int i3 = Integer.parseInt(reknr.substring(12,14));
int r = (int) ((i1 * 100000L + i2 ) % 97L);
if (r==0) r = 97;
return (r == i3);
}
public static double getInterest(){
return interest;
}
}
Java-code:
import java.util.*;
public class BankBediende {
public BankBediende() { //constructor
}
public static void main(String[] args) {
double stand;
SpaarRekening spaar = new SpaarRekening("1234", 2.5);
ZichtRekening zicht = new ZichtRekening("9876", 1000);
spaar.storten(100.0);
zicht.storten(200.0);
zicht.afhalen(50.0);
System.out.println("Saldo van spaarrekening: " + spaar.getSaldo());
System.out.println("Saldo van zichtrekening: " + zicht.getSaldo());
}
}
This article is issued from
Wikibooks.
The text is licensed under Creative
Commons - Attribution - Sharealike.
Additional terms may apply for the media files.