Programmeren in Java/Overerving

Uit Wikibooks
Naar navigatie springen Naar zoeken springen


Programmeren in Java In ontwikkeling. Revisiedatum: onbekend

  1. Inleiding Redelijk ontwikkeld. Revisiedatum: 22 augustus 2008
  2. Basis Goed ontwikkeld. Revisiedatum: 24 november 2007
  3. In- & uitvoer In ontwikkeling. Revisiedatum: 24 november 2007
  4. Stringbewerkingen In ontwikkeling. Revisiedatum: 24 november 2007
  5. Arrays Nog vrijwel niets. Revisiedatum: 24 november 2007
  6. Collections Nog vrijwel niets. Revisiedatum: 24 november 2007
  7. Exceptions Redelijk ontwikkeld. Revisiedatum: 24 november 2007
  8. Generics Nog vrijwel niets. Revisiedatum: 24 november 2007
  9. Ingebouwde functies Nog vrijwel niets. Revisiedatum: 20 januari 2007
  10. Multithreading Nog vrijwel niets. Revisiedatum: 20 januari 2007
  11. GUI In ontwikkeling. Revisiedatum: 24 november 2007
  12. JSP: JavaServer Pages Redelijk ontwikkeld. Revisiedatum: 24 november 2007

Klassen

  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

Design Patterns

  1. Strategy Pattern Nog vrijwel niets. Revisiedatum: 26 december 2010

Appendices

  1. Appendix A: Installatie In ontwikkeling. Revisiedatum: 24 november 2007
  2. Appendix B: Javadoc In ontwikkeling. Revisiedatum: 24 november 2007


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.