Toon posts:

[Java] interfaces

Pagina: 1
Acties:

Verwijderd

Topicstarter
ok, in onze cursus van ava worden interfaces behandeld op volgende manier

je hebt een interface
waarin de methodes beschreven staan
en dan verschillende klassen die de methodes invullen

tot daar alles normaal, maar dan maken we ook nog gebruik van een Flexible class,
deze klasse is als volgt

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Volgens mij is je vraag niet helemaal compleet ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
ok sorry, even te snel geweest

ze gaat dus als volgt

publi class Flexible{

private naam_interface changeableObject;

public void SetInteraction(naam_interface newnaam)
{
changeableObject=newnaam;
}

public void test()
{
String voorbeeld = changeableObject.GiveName();
//...
}
}

kan dit eigenlijk niet zonder Flexible klasse?

  • Tomatrix
  • Registratie: Juni 1999
  • Laatst online: 27-02-2025
Kan wat niet zonder Flexible klasse?

Verwijderd

Topicstarter
het gebruik van interfaces, moet er steeds zon flexible class worden gebruikt?

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op zaterdag 29 december 2001 20:57 schreef Noble_Paladin het volgende:
ok, in onze cursus van ava worden interfaces behandeld op volgende manier

je hebt een interface
waarin de methodes beschreven staan
en dan verschillende klassen die de methodes invullen

tot daar alles normaal, maar dan maken we ook nog gebruik van een Flexible class,
deze klasse is als volgt
Jaaaaa dat probleem heb ik ook wel eens gehad...

Je moet die Flexible class extenden en dan in je constructor super (Flexible.BENDABLE) aanroepen. Vervolgens kun je met getBendable () een Bendable object opvragen. Met dat Bendable object kun je klassen modificeren, 'buigen' zeg maar. Je moet ze alleen niet te ver buigen, want dan breken ze, en dan crasht je JVM. Dit kan zelf zo ver gaan dat door een bug in de 1.3.1 runtime de files in je huidige directory corrupted raken. Je kunt dit voorkomen door een java.security.BendableSecurityManager als SecurityManager in te stellen, wat ervoor zorgt dat als je klassen te ver buigt dat je JVM gewoon stopt met de uitvoer van je programma...

Succes!

:+

.edit: hmmmz doe je de moeite om een heel verhaal te typen heeft ie zichzelf intussen alweer verbeterd :P

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
interface Infraction

public class Invul



Infraction infra = new Invul();
kan dit niet?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Interfaces moet je eigenlijk niet al te technisch bekijken. Je moet de filosofie van interfaces snappen. Een interface is in feite een beschrijving van soort object. Interfaces zijn bedoeld om een beschrijving te geven van de mogelijkheden de een bepaalde groep objecten biedt. Een Runnable kan je bijvoorbeeld runnen, over een Iterator kan je itereren en een List is een willekeurige lijst van objecten. Iets wat Comparable is kan je vergelijken en een Comparator vergelijkt elementen.

Met behulp van interfaces kan je objecten benaderen zonder dat je weet wat de concrete implementatie van een object is. Een sorterings algoritme kan bijvoorbeeld op 'Comparables' werken. Wat het object precies is, is niet relevant. Wat wel relevant is: het object moet te behandelen zijn als een Comparable.

In een interface geef je aan welke methoden implementaties moeten bevatten. Implementaties van de interface moeten deze methoden dus implementeren.

Je kunt dus geen instanties van interfaces maken, maar instanties van klassen kunnen wel via een interface behandeld worden als de klasse van deze instanties die interface implementeert,
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Flexible
{
    private naam_interface changeableObject;

    public void SetInteraction(naam_interface newnaam)
    {
        changeableObject=newnaam;
    }

    public void test()
    {
        String voorbeeld = changeableObject.GiveName();
    //...
    }
}

Ik heb geen idee wat voor ongetwijfeld briljante design constructie hier achter zit.... Je hebt in ieder geval absoluut geen Flexible nodig.
OiSyN: Jaaaaa dat probleem heb ik ook wel eens gehad...
Whaaaa :D . Hint voor de topic-starter: neem dit niet te serieus ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment

Pagina: 1