Avatar billede mekaniker Nybegynder
18. maj 2008 - 19:24 Der er 5 kommentarer og
1 løsning

Hjælp til skoleopgave

Jeg har fået stillet denne opgave

En bygning har mange lokaler:
·          Mødelokaler
·          Kontorer
·          Toiletter.
Alle lokaler har et nummer og et antal kvadratmeter. Mødelokaler har et maksimum for hvor mange der kan være til møde i lokalet. Kontorer har et antal arbejdspladser. Toiletter har et antal kummer, et antal toiletter og det kan angives for hvilket køn toiletter reserveret.

Opgave:
Byg programmet. Der skal være et interface til lokaler. Programmet skal have en grafisk brugergrænseflade. Lokaler af forskellige typer skal kunne oprettes, ændres, slettes og vises.


Jeg ved ikke helt hvordan jeg skal gribe den an  !

Jeg kan godt finde ud af at lave den med et type lokale. Og kan sagtens tilføje slette og ændre et lokale. Det har jeg nemlig haft i en anden opgave, hvor jeg bruger en arraylist jeg tilføjer lokalet til. hvorefter jeg også kan serialisere det og gemme/hente det fra en fil.

Det nye i denne opgave er brugen af Interface...!

Er der nogle der kan hjælpe mig på vej.

//Mekanker
Avatar billede sph1nx Nybegynder
18. maj 2008 - 19:53 #1
Nu siger du interface, mener du grafisk interface eller mener du f.eks :


public interface conferenceRoom
{
  void metode1();
  void metode2();
}

for så er det jo bare at lave et interfa der indeholder alle de metoder et lokale skal have. f.eks :

public interface IRoom
{
  void calculatem2();
}

så fra de klasser der skal bruge dette interface skriver du bare xxxx implements IRoom
og så implementerer du den klasses "udgave" af f.eks calculatem2 metoden.

hvis det derimod er grafisk interface du mener, så kig her :

http://java.sun.com/docs/books/tutorial/uiswing/
Avatar billede _carsten Nybegynder
18. maj 2008 - 19:53 #2
Hjælp til selvhjælp - et lille hutigt eksempel

public class Test {
    public static void main(String[] args) {
        System.out.println(new Hund().hvadSigerDen());
        System.out.println(new Kat().hvadSigerDen());
        System.out.println(new Fugl().hvadSigerDen());
       
        System.out.println("\nVia metode som tager et interface som parameter");
        givLyd(new Hund());
        givLyd(new Kat());
        givLyd(new Fugl());
       
    }
   
    public static void givLyd(Lyd l){
        System.out.println( l.hvadSigerDen() );
    }
}


public interface Lyd {
    public String hvadSigerDen();
}



public class Hund implements Lyd{

    public String hvadSigerDen() {
        return "Vov - vov!";
    }
}

public class Kat implements Lyd{

    public String hvadSigerDen() {
        return "Miauv!";
    }
}

public class Fugl implements Lyd {

    public String hvadSigerDen() {
        return "Pip - pip";
    }
}
Avatar billede dumbledore Nybegynder
20. maj 2008 - 09:15 #3
Carsten hentyder til at du skal benytte polymorfi til at løse din opgave, hvori interface også indgår
Avatar billede tuidoi Nybegynder
20. juli 2008 - 18:29 #4
Er det en opgave du er blevet stillet på DTU java-programmerings kursus? :)
Jeg starter der nemlig hertil sommer og kunne da være okay, hvis det var denne type opgaver der bliver stillet til eksamen..
Avatar billede mekaniker Nybegynder
21. juli 2008 - 17:03 #5
Hej Carsten, læg et svar så får du nogle point !
Jeg havde helt glemt dette spørgsmål, også synes jeg det ville være tarveligt, hvis jeg selv tog dem igen.

-> Tuidoi
Nej det er ikke på DTU, men en akademi uddannelse i IT på aftenskole (enkeltfag).
Her hedder det første semester softwarekonstruktion, som foregår i Java.

//Mekanker
Avatar billede _carsten Nybegynder
21. juli 2008 - 17:10 #6
OK - Svar
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