/***************************************************************/
/* Prof. Dr. Carsten Vogt                                      */
/* FH Koeln, Fak. 07 / Nachrichtentechnik                      */
/* http://www.nt.fh-koeln.de/vogt                              */
/*                                                             */
/* Das Programm demonstriert den Umgang mit Interfaces.        */
/***************************************************************/

import java.io.*;

/* Das Interface Mahnung legt fest, dass jede Klasse, die dieses
   Interface implementiert, die drei Methoden ersteMahnung(),
   zweiteMahnung() und dritteMahnung() definieren muss. */

interface Mahnung {
 public void ersteMahnung();
 public void zweiteMahnung();
 public void dritteMahnung();
}


/* Das Interface Glueckwunsch legt fest, dass jede Klasse, die dieses
   Interface implementiert, die zwei Methoden Geburtstag() und Neujahr()
   definieren muss. */

interface Glueckwunsch {
 public void Geburtstag();
 public void Neujahr();
}


/* Die Klasse Kundenbeziehung implementiert die beiden Interfaces:
   Die fuenf dort angegebenen Methoden werden hier ausprogrammiert. */

class Kundenbeziehung implements Mahnung, Glueckwunsch {

 private String kundenname;

 public void ersteMahnung() { System.out.println("Liebe(r) Herr/Frau " + kundenname); };

 public void zweiteMahnung() { System.out.println("Sehr geehrte(r) Herr/Frau " + kundenname); };

 public void dritteMahnung() { System.out.println("Herr/Frau " + kundenname + "!!!"); };

 public void Geburtstag() { System.out.println("Zum Geburtstag wuenschen wir ..."); };

 public void Neujahr() { System.out.println("Anlaesslich des neuen Jahres ..."); };

}


/* Hauptprogramm */

public class Interface {

 public static void main(String args[]) {

  /* Hauptprogramm in diesem Beispiel nicht ausprogrammiert */


 }

}

