Programmeren in Java/Overerving

Uit Wikibooks
← Klassen Programmeren in Java Geavanceerde klassen →

Programmeren in Java In ontwikkeling. Revisiedatum: onbekend

Inleiding Redelijk ontwikkeld. Revisiedatum: 22 augustus 2008

Installatie In ontwikkeling. Revisiedatum: 26 decemeber 2020

Hulpmiddelen Nog vrijwel niets. Revisiedatum: 26 decemeber 2020
Appendices

In onderstaand voorbeeld is de klasse Rekening de verzameling van alle gemeenschappelijke datamembers en methods. De klassen Spaarrekening en Zichtrekening bevatten de gespe­cia­liseerde 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());
  }
}
← Klassen Programmeren in Java Geavanceerde klassen →
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.