Hallo,
es geht um Schnittstellen. Eigentlich weiß ich jetzt das ganze theorie Zeug über die Schnittstellen:
- enthält keine Implementierung
- sie haben keinen Konstruktor
- statische Methoden nicht erlaubt
- möchte eine Klasse die Schnittstelle benutzen muss man es mit "implements name" erweitern
Das habe ich so gemerkt, aber nicht wirklich verstanden wozu man das braucht. Darauf stand im Buch ein Beispiel:
(also genau so stand es da) Ich habe mich über den code Beispiele gefreut, aber leider hat mir das kein bisschen geholfen. Ich verstehe den Sinn nicht.
Warum muss ich irgendwie auf die Schnittstelle zugreifen (unterhalungswert)? Man kann das ganze auch ohne die Schnittstelle machen. Da steht doch @return Unterhaltungswert... ich returne einfach von meine eigene Methode aus der Kirche Klasse. Warum, wie... leider ging es mit dem Code nicht weiter. Und so sehe ich das irgendwie nicht viel sinn bzw. wurde das mit der Schnittstelle schlecht erklärt.
Kann jemand dieses Code so erweitern, dass ich da ein Sinn sehe? Oder von mir aus ein Eigenes mit implements machen?
Würde mich sehr freuen!
Danke,
Gruss
Edit: Es stand danach kurz auch noch, dass es auch "Markierungsschnittstellen" gibt. Diese seien ohne Methoden. Soll gut sein, damit man leicht mit 'instanceof' prüfen kann ob sie einen gewollten Typ einnehmen oder nicht. Wenn ich das eine nicht verstehe, verstehe ich auch das andere nicht... hierzu gibt es aber nicht mal ein Codebeispiel :/
es geht um Schnittstellen. Eigentlich weiß ich jetzt das ganze theorie Zeug über die Schnittstellen:
- enthält keine Implementierung
- sie haben keinen Konstruktor
- statische Methoden nicht erlaubt
- möchte eine Klasse die Schnittstelle benutzen muss man es mit "implements name" erweitern
Das habe ich so gemerkt, aber nicht wirklich verstanden wozu man das braucht. Darauf stand im Buch ein Beispiel:
PHP:
interface Unterhalted {
int unterhalungswert();
}
PHP:
public class Kirche extends Gebaeude implements Unterhaltend {
int anzahlBeichstühle;
int verfügbarerMesswein;
/* Liefert den Unterhalungswert der Kirch. */
/* @return Unterhaltungswert */
public int unterhalungswert() {
return anzahlBeichstühle * verfügbarerMesswein * verfügbarerMesswein;
}
}
(also genau so stand es da) Ich habe mich über den code Beispiele gefreut, aber leider hat mir das kein bisschen geholfen. Ich verstehe den Sinn nicht.
Warum muss ich irgendwie auf die Schnittstelle zugreifen (unterhalungswert)? Man kann das ganze auch ohne die Schnittstelle machen. Da steht doch @return Unterhaltungswert... ich returne einfach von meine eigene Methode aus der Kirche Klasse. Warum, wie... leider ging es mit dem Code nicht weiter. Und so sehe ich das irgendwie nicht viel sinn bzw. wurde das mit der Schnittstelle schlecht erklärt.
Kann jemand dieses Code so erweitern, dass ich da ein Sinn sehe? Oder von mir aus ein Eigenes mit implements machen?
Würde mich sehr freuen!
Danke,
Gruss
Edit: Es stand danach kurz auch noch, dass es auch "Markierungsschnittstellen" gibt. Diese seien ohne Methoden. Soll gut sein, damit man leicht mit 'instanceof' prüfen kann ob sie einen gewollten Typ einnehmen oder nicht. Wenn ich das eine nicht verstehe, verstehe ich auch das andere nicht... hierzu gibt es aber nicht mal ein Codebeispiel :/
Zuletzt bearbeitet: