Programmeren in Java/Overerving

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Programmeren in Java In ontwikkeling. Revisiedatum: onbekend

Inleiding Redelijk ontwikkeld. Revisiedatum: 22 augustus 2008
  1. Klassen Goed ontwikkeld. Revisiedatum: 24 november 2007
  2. Overerving In ontwikkeling. Revisiedatum: 20 januari 2007
  3. Geavanceerde klassen In ontwikkeling. Revisiedatum: 24 november 2007
  4. Enums Goed ontwikkeld. Revisiedatum: 15 augustus 2020
  5. Generics Nog vrijwel niets. Revisiedatum: 24 november 2007
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());
  }
}


Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.