konkretes beispiel: interface hier besser als abstrakte kl.

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
hi,
ich habe hier folgendes code. die frage ist, hat das interface irgendwelche vorteile gegenüber der abstrakten klasse bezogen auf dieses beispiel?

Code:
interface Function{
    double at(double x);
    Function derive();

    static final Function
        zero = new ConstFunction(0.0),
        one = new ConstFunctuon(1.0),
        minus1 = new ConstFunction(-1,0),
        sin = new Function(){
                   public double at(double x){
                       return Math.sin(x);
                   }
                   public Function derive(){
                       return cos;
                   }
       },
       cos = new Function(){
                   public double at(double x){
                       return Math.cos(x);
                   }
                   public Function derive(){
                       return new MultFunction(minus1,sin);
                   }
       };
}

public final class ConstFunction implements Function{
    private double c;
    
    public ConstFunction(double c){
      this.c = c;
    }

    public double at(double x){
      return c;
    }

    public Function derive(){
      return zero;
    }
}

public final class MultFunction implements Function{
    private Function a;
    private Function b;
  
    public MultFunction(Function a, Function b){
        this.a = a; this.b = b;
    }

   public double at(double x){
      return a.at(x) + b.at(x);
   }

   public Function derive(){
     [...]
   }
}

Allgemein soll wohl abstrakte Klasse ein wenig schneller sein, denke nicht dass es hier so ausschlaggebend ist.
Es sind quasi alles abstrakte Methoden in Function, also auch da kein Grund für eine abstrakte Klasse.

Spricht sonst irgendetwas unebdingt für ein Interface und gegen eine abstrakte Klasse?
 

Leroy42

Top Contributor
Gast hat gesagt.:
Allgemein soll wohl abstrakte Klasse ein wenig schneller sein

Wer behauptet denn sowas? :shock:

Nach meinem Geschmack ist dein Interface-Ansatz schon genau das Richtige
für dein Beispiel, weil du dadurch jede beliebige Klasse dieses Interface
implementieren lassen kannst ohne eine Klassenhierarchie vorzugeben.

Im Übrigen sieht dein Interface wirklich interessant und gut aus! :D
 

millinär

Bekanntes Mitglied
Code:
   static final Function 
        zero = new ConstFunction(0.0), 
        one = new ConstFunctuon(1.0), 
        minus1 = new ConstFunction(-1,0), 
        sin = new Function(){ 
                   public double at(double x){ 
                       return Math.sin(x); 
                   } 
                   public Function derive(){ 
                       return cos; 
                   } 
       }, 
       cos = new Function(){ 
                   public double at(double x){ 
                       return Math.cos(x); 
                   } 
                   public Function derive(){ 
                       return new MultFunction(minus1,sin); 
                   } 
       };

was ist das eine methode?
ich blick das nicht kann man das auch machen ich dachte bei interface
geht nur Methoden und finale konstanten
 
B

Beni

Gast
Das ist garkeine Methode, das sind Variablen (alle mit demselben Typ, da kann man die Namen mit Komma trennen).

Wenn man das ein bisschen auseinandernimmt:
Code:
static final Function zero = new ConstFunction(0.0);
static final Function one = new ConstFunctuon(1.0);
static final Function minus1 = new ConstFunction(-1,0);
...
 

millinär

Bekanntes Mitglied
achso stimmt ich schreibe immer alles einzeln ich bin sowas nicht gewöhnt ich sollte mal besser hinschauen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J konkretes problem mit arraylist Java Basics - Anfänger-Themen 15
T Beispiel Polymorphie, Tier hund = new Hund(); Java Basics - Anfänger-Themen 3
J Fehlerbehandlung an einem Beispiel Java Basics - Anfänger-Themen 8
U Beispiel Methode size() vom "Collection"-interface... Wie kann man sichtbar machen, was die Methode unter der Haube macht? Java Basics - Anfänger-Themen 8
Blndner Auto Beispiel Java Basics - Anfänger-Themen 4
melisax Beispiel Java umprogrammieren Java Basics - Anfänger-Themen 23
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
dieter000 Hilfe bei dem Beispiel, wie gehe ich sowas am besten an? Java Basics - Anfänger-Themen 32
marcooooo Kann mir jemand das Beispiel kurz erklären so ungefähr:/ Java Basics - Anfänger-Themen 7
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
C Beispiel-Code mit Pair wird nicht compiliert. Java Basics - Anfänger-Themen 8
B Webhooks verstehen - Beispiel? Java Basics - Anfänger-Themen 25
B Java Vererbung Fragen (zu Code Beispiel) Java Basics - Anfänger-Themen 3
J For-Schleife (Beispiel) Java Basics - Anfänger-Themen 6
G Rekursion Beispiel Java Basics - Anfänger-Themen 3
H OOP, wie gehts richtig? (Beispiel von meinem Prof) Java Basics - Anfänger-Themen 6
J Suche simples Beispiel für die EOFException Java Basics - Anfänger-Themen 1
O Wert in einer URL hinzufügen (in meinem Beispiel Google) Java Basics - Anfänger-Themen 7
F jscience Beispiel Java Basics - Anfänger-Themen 0
D Klassen Gesucht: Einfache Beispiel-Klasse für einen Datentyp Java Basics - Anfänger-Themen 7
B Erste Schritte Way of life ohne import - Habe Beispiel, macht Unfug Java Basics - Anfänger-Themen 21
J Kompilieren von HelloWorld Beispiel schlägt fehl Java Basics - Anfänger-Themen 7
Z Schleifen Beispiel: Fakultät Java Basics - Anfänger-Themen 26
M Frage zum generellen Verständiss von OO an einem Beispiel Java Basics - Anfänger-Themen 4
L GridLayout, Beispiel? Java Basics - Anfänger-Themen 2
M Wozu Upcasting? Am Beispiel List = ArrayList Java Basics - Anfänger-Themen 2
L Beispiel Projekte Java Basics - Anfänger-Themen 3
B Erste Schritte HILFE Brauche ein Beispiel für korrekte Syntax mit Semantikfehlern Java Basics - Anfänger-Themen 6
V Objekte/Klassen erstellen - Erklärung anhand Beispiel Java Basics - Anfänger-Themen 4
J Interface Frage zu Interfces am Beispiel Observer Pattern Java Basics - Anfänger-Themen 8
T Erste Schritte für was steht das "this" in dem Beispiel... Java Basics - Anfänger-Themen 2
B Grundlagen von Methoden an folgendem Beispiel Java Basics - Anfänger-Themen 52
E Polymorphie Beispiel Polymorphie Java Basics - Anfänger-Themen 2
M Threads am Beispiel Parkhaus Java Basics - Anfänger-Themen 10
G OOP Beispiel Objekte zugreifen Java Basics - Anfänger-Themen 3
M Suche Beispiel-Spiel Java Basics - Anfänger-Themen 3
M Ganz einfaches Beispiel, finde den Fehler aber nicht :( Java Basics - Anfänger-Themen 2
A Frage zu Beispiel eines Dekorierers von InputStream Java Basics - Anfänger-Themen 4
M Kann kein Objekt (AudioFile in diesem Beispiel) für ein leeren String erzeugen Java Basics - Anfänger-Themen 3
P wie oop an diesem beispiel verbessern? Java Basics - Anfänger-Themen 31
K return-Anweisung am Beispiel eines Palindroms Java Basics - Anfänger-Themen 18
P Datentypen Warum würde dieses Beispiel nicht funktionieren? Java Basics - Anfänger-Themen 6
V KeyListener Beispiel Java Basics - Anfänger-Themen 13
S Objektidentität und gleichheit an diesem Beispiel Java Basics - Anfänger-Themen 7
S Komposition beispiel anhand eines kopierers Java Basics - Anfänger-Themen 4
M Gutes Beispiel für Exception- werfende & behandelnde Methode Java Basics - Anfänger-Themen 5
H Webservice - Einfaches Beispiel Java Basics - Anfänger-Themen 2
b101 OOP Beispiel Klausur Aufgabe der FH Java Basics - Anfänger-Themen 22
T Java Beispiel Bitte helft mir Java Basics - Anfänger-Themen 5
Gonzalez Eingabe des Benutzers mittels readLine()-Methode. Klappt in meinem Beispiel nicht! Java Basics - Anfänger-Themen 7
V Präinkrement Beispiel Java Basics - Anfänger-Themen 14
M Swing Beispiel Java Basics - Anfänger-Themen 2
M [Einfaches Beispiel] Problem mit innere Klassen Java Basics - Anfänger-Themen 4
M Beispiel-Webprojekt: Statt HSQLDB Postgres verwenden Java Basics - Anfänger-Themen 12
M Serialisierung erstes Beispiel Java Basics - Anfänger-Themen 4
razwed4ik zum Beispiel aus Java Insel Buch Java Basics - Anfänger-Themen 7
M DBCP - Kleines Beispiel Java Basics - Anfänger-Themen 3
M Data Access Object - Beispiel Java Basics - Anfänger-Themen 11
M Beispiel für Linked List Java Basics - Anfänger-Themen 9
A programmier beispiel Java Basics - Anfänger-Themen 18
A ausgabe eines arrays - einfaches beispiel Java Basics - Anfänger-Themen 4
Z Beispiel Würfelspiel mit Verwendung von Feldern Java Basics - Anfänger-Themen 7
Q POI Beispiel Programme Java Basics - Anfänger-Themen 2
J Das schöne Bouncing Ball Beispiel. Java Basics - Anfänger-Themen 20
N Java Insel - RMI Beispiel Java Basics - Anfänger-Themen 12
J Plymorphismus - unklarheit zu einem Beispiel Java Basics - Anfänger-Themen 6
S Gutes Beispiel für Vererbung? Java Basics - Anfänger-Themen 14
I Hilfe beim Java-Applet Beispiel Java Basics - Anfänger-Themen 27
M Brauche ein Beispiel für eine set() get() Methode Java Basics - Anfänger-Themen 4
M Komische Syntax bei Double-Buffering-Beispiel Java Basics - Anfänger-Themen 2
M Brauche Hilfe bei Beispiel. Java Basics - Anfänger-Themen 4
S Beispiel für abgestufte Preisliste Java Basics - Anfänger-Themen 2
S Wrapper-Pattern Beispiel Java Basics - Anfänger-Themen 2
S Model-View-Controller Konzept Beispiel Java Basics - Anfänger-Themen 11
E Fehler im Beispiel? Java Basics - Anfänger-Themen 3
B Was ist falsch an dem beispiel? Java Basics - Anfänger-Themen 4
M Beispiel für sinnvolles finally? Java Basics - Anfänger-Themen 17
B schon beim einsteiger-beispiel durchgefallen. Java Basics - Anfänger-Themen 2
M Einfache HTML Mail versenden , suche Beispiel Java Basics - Anfänger-Themen 5
G einfaches jdialog beispiel Java Basics - Anfänger-Themen 1
D Beispiel-Servlet erstellen Java Basics - Anfänger-Themen 4
G Rekursiv-Beispiel; Wer erklärt mir... Java Basics - Anfänger-Themen 9
H Beispiel für Schriftfarben Java Basics - Anfänger-Themen 8
B Oberflaecheprog einfaches beispiel (button action listener) Java Basics - Anfänger-Themen 5
I No Jakarta Enterprise Beans found with interface ignorieren? Java Basics - Anfänger-Themen 2
I No EJB found with interface of type Java Basics - Anfänger-Themen 12
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
Say Abstrakt oder Interface Java Basics - Anfänger-Themen 3
Say public/default Interface Java Basics - Anfänger-Themen 9
D Interface Methode wird ungewollt in der Subklasse überschrieben Java Basics - Anfänger-Themen 5
W Intuitive interface für Komponenten Java Basics - Anfänger-Themen 4
I Browser integriert in Desktop Applikation - Webcam interface not found Java Basics - Anfänger-Themen 26
J Interface Comparable<T> Java Basics - Anfänger-Themen 10
M Interface oder Vererbung? Java Basics - Anfänger-Themen 12
D Interface Verständisfrage Java Basics - Anfänger-Themen 8
U Interface | constructor injection Java Basics - Anfänger-Themen 5
J Interface Interface korrekt implementieren Java Basics - Anfänger-Themen 5
A Methoden Vererbung und Interface Java Basics - Anfänger-Themen 14
T Interface Map und Map.Entry Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben