Daniel Thoma: Interfaces - Verständnisfrage

Beitrag lesen

Hallo franzlst,

Nun kann man eine Methode schreiben:
public static long grundflaeche(Groesse g)
   {
     return (long)g.laenge() * g.breite();
   }

Diese gibt die Grundfläche eines Objekts zurück. Das könnte man aber doch auch genauso schreiben, wenn es das Interface nicht gäbe und dann statt "Groesse" Object schreibt, oder nicht?

Nein, wenn Du Object schreiben würdest, könntest Du auch Objekte übergeben, die die erforderlichen Methoden nicht haben. Daher könntest Du diese auch nicht aufrufen.
Alternativ könntest Du die Methode natürlich auch direkt für "Fussballplatz" deklarieren, dann müsstest Du aber die selbe Methode für jede andere Klasse, die eine Größe hat, noch mal schreiben.

Interfaces beschreiben eben eine Schnittstelle, damit man diese Schnittstelle an anderen Stellen im Code verwenden kann, ohne die konkrete Klasse zu kennen.

Grüße

Daniel