AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Java Programmierung: Interfaces - was ist das?
Thema durchsuchen
Ansicht
Themen-Optionen

Java Programmierung: Interfaces - was ist das?

Ein Thema von alleinherrscher · begonnen am 26. Mär 2006 · letzter Beitrag vom 26. Mär 2006
Antwort Antwort
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#1

Java Programmierung: Interfaces - was ist das?

  Alt 26. Mär 2006, 13:30
Hallo!

Ich versuche gerade etwas Java zu lernen, aber komme gerade nicht weiter: Es geht um interfaces.

Ich habe das hier aus einer Vorlesung von unserem Prof, aber werde nicht richtig schlau daraus: (siehe Dateianlage)

Erstmal verstehe ich nicht, wofür man überhaupt Interfaces braucht. Und als zweites verstehe ich noch nicht, wie man sie umsetzt...kann mir da jemand von euch weiterhelfen?

Grüße,
Alleinherrscher
Miniaturansicht angehängter Grafiken
interf_341.jpg  
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Dust Signs

Registriert seit: 28. Dez 2004
Ort: Salzburg
379 Beiträge
 
#2

Re: Java Programmierung: Interfaces - was ist das?

  Alt 26. Mär 2006, 13:40
Interfaces sind Klassen, deren Methoden zwar definiert, aber nicht implementiert sind - ein Interface ist also eine Art Grundgerüst; und eine Klasse, die dann das Interface vollständig implementiert, kann dann verwendet werden. Ein Interface hat den Zweck, dass du bei einer Klasse eine bestimmte Funktionalität voraussetzen kannst; du kannst also von einem übergebenen Objekt immer erwarten, dass es über bestimmte Methoden mit definierten Parametern verfügt.

Dust Signs
(aka AXMD in der EE)
Die Nummer, die Sie gewählt haben, ist imaginär. Bitte drehen Sie Ihr Telefon um 90° und versuchen Sie es erneut.
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Java Programmierung: Interfaces - was ist das?

  Alt 26. Mär 2006, 13:47
Ein Interface ist sehr ähnlich zu einer abstrakten Klasse.
Sprachen wie C++, die Mehrfachvererbung unterstützen, brauchen keine Interfaces, sie können ja von beliebig vielen (auch abstrakten) Klassen erben - bei Sprachen, die keine Mehrfachvererbung beherrschen, geht das nicht. Deswegen benutzt man Interfaces: Eine Klasse kann beliebig viele Interfaces implementieren, so kann sie zwar keine Funktionalität erben, aber sie erscheint dennoch polymorph.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Java Programmierung: Interfaces - was ist das?

  Alt 26. Mär 2006, 13:50
Danke dir soweit!
Das heißt in ein Interface kommen nur Methoden rein, keine Attribute etc?

meinetwegen hab ich folgendes:

public interface IntList {
void insert (int value);
boolean contains (int value);
void delete (int value);
}


D.h. wenn ich n neues Objekt "IntList" erstelle, hat das die o.a. Methoden...
gut, wenn ich jetzt diese Methoden "umsetzten" will, kann ich irgendeine Klasse schreiben (name etc. egal) und dann "implements IntList" dranschreiben?

also so:

class IntArray implements IntList { ...}

richtig?

Da müssen dann auf jedenfall alle Methoden, die unter IntList angegeben sind, drin auftauchen?!

Grüße und danke nochmal!
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Dust Signs

Registriert seit: 28. Dez 2004
Ort: Salzburg
379 Beiträge
 
#5

Re: Java Programmierung: Interfaces - was ist das?

  Alt 26. Mär 2006, 13:52
Genau. Ein Interface hat den Vorteil, dass nicht vorgegeben ist, wie die Methoden zu implementieren sind, nur, dass sie vorhanden sein müssen.

Dust Signs
(aka AXMD in der EE)
Die Nummer, die Sie gewählt haben, ist imaginär. Bitte drehen Sie Ihr Telefon um 90° und versuchen Sie es erneut.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Java Programmierung: Interfaces - was ist das?

  Alt 26. Mär 2006, 14:06
Zitat:
Ein Interface ist sehr ähnlich zu einer abstrakten Klasse.
nur das es vollständig abstrakt ist und keine Attribute besitzt. Dieses Konzept wird übrigens auch von Delphi und C# verwendet.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Java Programmierung: Interfaces - was ist das?

  Alt 26. Mär 2006, 14:18
okay, das Prinzip hab ich jetzt glaube ich verstanden, auch wenn ich sowas vorher nie zum programmieren gebraucht hab... man lernt ja nie aus...


ich hab jetzt folgendes gemacht um das mal zu testen:

Diesen Quellcode (also das interface selber) in einer Datei IntList.java gespeichert:

public interface IntList {
void insert (int value);
boolean contains (int value);
void delete (int value);
}


Eine neue Datei "IntArray.java" erstellt mit dem implementieren Code von IntList:



class IntArray implements IntList {
int[] elems; int count=0;

public IntArray (int maxNum){
elems=new int [maxNum];
}

public void insert(int value){
if (count<elems.length){
elems[count]=value;
++count;
}else System.err.println("Array is full");
}
public boolean contains(int value){
return getPosition(value)>=0;
}
private int getPosition (int value){
int p=0;
for (p=0; p<count;++p)
if (elems[p]==value) return p;
return -1;
}
public void delete(int value){
int p=getPosition(value);
if(p>=0){
--count;
while (p<count){
elems[p]=elems[p+1];
++p;
}
}
}
}
}


Jetzt bekomme ich leider beim compilieren von "IntArray.java" folgenden Fehler (2mal):

IntArray.java:40: 'class' or 'interface' expected
(in der letzten Zeile)

Was ist da jetzt schiefgegangen?
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Dust Signs

Registriert seit: 28. Dez 2004
Ort: Salzburg
379 Beiträge
 
#8

Re: Java Programmierung: Interfaces - was ist das?

  Alt 26. Mär 2006, 14:22
Ich kann zwar kein Java, aber ich vermute mal, dass es
Code:
public class
heißen sollte und nicht nur class.

Dust Signs
(aka AXMD in der EE)
Die Nummer, die Sie gewählt haben, ist imaginär. Bitte drehen Sie Ihr Telefon um 90° und versuchen Sie es erneut.
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Java Programmierung: Interfaces - was ist das?

  Alt 26. Mär 2006, 14:26
UNF! Ich bin doof...war nur n dummer tippfehler...hatte nix mit dem public zu tun...trotzdem danke! Jetzt tuts *froh sei*
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz