Avatar billede dr_chaos Nybegynder
12. januar 2005 - 11:08 Der er 9 kommentarer og
1 løsning

Tutorial til brug af interfaces

Som titlen siger har jeg brug for en side som viser brugen af interfaces i java.
Den bedste tutorial belønnes med 30 points.
Avatar billede kalp Novice
12. januar 2005 - 11:13 #1
har du kigget på http://javabog.dk/
Avatar billede morteeart Nybegynder
12. januar 2005 - 11:25 #2
http://java.sun.com/docs/books/tutorial/uiswing/

Swing er den "komponent?" i java som bruges til interface.
Avatar billede soreno Praktikant
12. januar 2005 - 11:29 #3
Det kunne også være interfaces som en sprogfeature:
http://java.sun.com/docs/books/tutorial/java/interpack/interfaces.html
Avatar billede arne_v Ekspert
12. januar 2005 - 12:22 #4
Det lyder mest sandsyneligt at det er interface  i den betydning der
efterspørges.
Avatar billede kalp Novice
12. januar 2005 - 12:51 #5
dr_chaos>> en almindelig klasse ser sådan her ud

public class KLASSENAVN
{
public KLASSENAVN()
{
}
}

en klasse som skal anvende et interface ser sådan her ud

public class KLASSENAVN implements NAVNETPÅINTERFACET
{
public KLASSENAVN()
{
}
}


I en interface er der nogen metoder og de metoder er derfor nød til at have med i din klasse som implementere det pågældende interface(eller klassen skal være erklæret for abstract)!

så har din interface en metoderne(hvilken et interace kun har)
doSomething();
andSomethingElse();

så skal de metoder være med i den klasse som implementere dette
Vil se sådan her ud


public class KLASSENAVN implements NAVNETPÅINTERFACET
{
public KLASSENAVN()
{
}
doSomething(){}
andSomethingElse(){}

}


Man kan sige det er en form for "kontrakt" så du husker at have metoderne med i din klasse(r).


Lidt overfladisk forklaret, men med lidt læsning giver det nok mening:)
Avatar billede soreno Praktikant
12. januar 2005 - 13:05 #6
En lidt anden vinkel:

Et interface definerer en type.

En klasse som implementere et givet interface
har således samme type som interfacet definerer.

interface Foo
{
  public void bar():
}

class Baz implements Foo
{
  [..]

  public void bar()
  {
    //do stuff
  }
}

Baz objekter er således af typen Foo og kan
bruges når en Foo type kræves.


Et praktisk eksempel kan ses i interfacet
java.util.Collection og klassen
java.util.Collections

Collection er interface (som f.eks. ArrayList
implementere (implicit gennem List interfacet))

Collections er en konkret klasse som kan udføre
en masse spændende operationer på objekter af
typen Collection. F.eks. sortering, min, max,
søgning osv.
Avatar billede arne_v Ekspert
12. januar 2005 - 13:38 #7
Du skal skelne mellem om du vil bruge interfaces lavet af andre eller du selv vil lave
interfaces.

Hvis du bare skal bruge dem så gør du det sikkert allerede i stor stil.

java.sql og javax.xml pakkerne består næsten ikke af andet end interfaces.

NavnPåInterface x = etelleranderobject.createNavnPåInterface();

i.s.f. at kalde en constructor.

Finessen er at de konkrete klasser kan være helt forskellige (for forskelle
databaser eller forskellige XML parsere f.eks.).

Hvis du selv skal lave nogen så skal du igang med "rigtig OOP". Og du skal nok
finde en god bog om det. Hvordan er ret simpel (og beskrevet af søren
og kalp), men de næste spørgsmål hvornår og hvorfor kræver lidt mere.
Avatar billede dr_chaos Nybegynder
02. februar 2005 - 20:31 #8
kalp smid lige et svar. dit link var lige hvad vi skulle bruge.
Avatar billede kalp Novice
02. februar 2005 - 20:33 #9
Du får et svar her:) glad for at kunne hjælpe Jer
Avatar billede dr_chaos Nybegynder
02. februar 2005 - 21:42 #10
tak.
Jeg havde faktisk glemt javabog.dk :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester