askIT

Objekter

Lagre Last ned eksempelfiler

Hvis du ser rundt deg ser du mange reelle objekter: hunden, skrivebordet, mobilen eller sykkelen din.

Man kan si at objekter har to kjennetegn. For det første har de en tilstand og for det andre har de en atferd. Hunder har tilstanden (navn, farge, rase, sulten) og atferd (bjeffing, henting, logrende hale). Sykler har også staten (girvalg, gjeldende hastighet) og atferd (giring, bruk bremsene).

Hvis du klarer å tenke tilstand og atferd i programmeringen er du klar til å tenke objektorientert.

Bruk litt tid til å observer virkelige objekter rundt deg. For hvert enkelt objekt kan du spørre deg selv:

Noter gjerne noen svar på et ark. Da vil du fort se at objektene du oppdager har ulik kompleksitet. En lampe har to tilstander (av eller på) og to mulige atferder (slå på, slå av). En radio har flere tilstander (på, av, volum, stasjon) og atferder (slå på, slå av, øke volum, redusere volumet, søke, skanning).

lampe_pa_av.jpg

Eksempel med en radio

Lag et nytt Java-prosjekt som du kaller for MyRadio.

02_new_java_prosjekt.jpg

03_velg_java_application.jpg

04_prosjektnavn.jpg

Du skal nå ha en tom kode som ser slik ut:

package myradio;
public class MyRadio {
        public static void main(String[] args) {
        }
       
}

Lag statuser
Det første vi kan gjøre er å legge inn statuser for radioen.

package myradio;
public class MyRadio {

        // States
        int onOff = 0;
        int currentVolume = 10;
        String currentStation = "The Beat";

        public static void main(String[] args) {
        }
       
}

Lag konstruktør
Det neste vi må lage er en konstruktør. Denne gjør det mulig å opprette et objekt av typen MyRadio, altså å lage en radio.

package myradio;
public class MyRadio {

        // States
        int onOff = 0;
        int currentVolume = 10;
        String currentStation = "The Beat";

        // Constructor
        public MyRadio() {
                onOff = onOff;
                currentVolume = currentVolume;
                currentStation = currentStation;
        }

        public static void main(String[] args) {
        }
       
}

Lag din egen radio
Nå er vi kommet så langt at vi kan lage en radio av typen MyRadio. Dette gjøres ved å skrive
MyRadio radionavn = new MyRadio();.

package myradio;
public class MyRadio {
       
        // States
        int onOff = 0;
        int currentVolume = 10;
        String currentStation = "The Beat";
       
        // Constructor
        public MyRadio() {
                onOff = onOff;
                currentVolume = currentVolume;
                currentStation = currentStation;
        }
       
        public static void main(String[] args) {
                // Create a radio
                MyRadio newRadio = new MyRadio();
               
        }
}

Lag atferd for å slå på radio og slå den av
For å slå radioen på eller av, og sette volumet og skifte radiostatsjon må vi kunne lage ulike atferder. Dette kalles for settere og gettere. Vi lager først set og get for å slå av eller på radioen. Vi ønsker med andre ord å endre variabelen onOff.

Vi gjør dette med å programmere metoden setOnOff for å skru radioen av og på. I tillegg lager vi metdoen getOnOff for å vise status til radioen.

package myradio;
public class MyRadio {
       
        // States
        int onOff = 0;
        int currentVolume = 10;
        String currentStation = "The Beat";
       
        // Constructor
        public MyRadio() {
                onOff = onOff;
                currentVolume = currentVolume;
                currentStation = currentStation;
        }
       
        public static void main(String[] args) {
                // Create a radio
                MyRadio newRadio = new MyRadio();
       
        }
       
       
        // Set on off status of radio
        public int setOnOff(int statusValue){
                return onOff = statusValue;
        }
        // Get on off status of radio
        public int getOnOff(){
                return onOff;
        }
}

Bruke setOnOff og getOnOff
For å benytte oss av metodene som vi programmerte tidligere må vi skrive det inn i main. Vi kan finne ut om radioen er skrudd på ved å skrive koden:
System.out.println("Radio er: " + newRadio.getOnOff());

For å skru radioen av eller på bruker vi koden:
newRadio.setOnOff(1); // Skrur radioen på
newRadio.setOnOff(0); // Skrur radioen av

Hele denne programmert blir slikt nå:

package myradio;
public class MyRadio {
       
        // States
        int onOff = 0;
        int currentVolume = 10;
        String currentStation = "The Beat";
       
        // Constructor
        public MyRadio() {
                onOff = onOff;
                currentVolume = currentVolume;
                currentStation = currentStation;
        }
       
        public static void main(String[] args) {
                // Create a radio
                MyRadio newRadio = new MyRadio();
               
                // Is radio on or off?
                System.out.println("Radio er: " + newRadio.getOnOff());
                newRadio.setOnOff(1);
                System.out.println("Radio er: " + newRadio.getOnOff());

               
        }
       
       
        // Set on off status of radio
        public int setOnOff(int statusValue){
                return onOff = statusValue;
        }
        // Get on off status of radio
        public int getOnOff(){
                return onOff;
        }
}

05_radio_paa_av.jpg

Oppgaver

1. Programmer inn metoder for å endre volumet (currentVolume). Metodene skal hete setCurrentVolume og getCurrentVolume.

2. Programmer inn metoder for å endre radiostasjon (currentStation). Metodene skal hete setCurrentStation og getCurrentStation.

3. Endre programmet slikt at brukeren kan taste inn 1 for å slå på radio, eller 0 for å slå av radio. La brukeren få taste inn lydnivå mellom 0 og 20. La brukeren også få skrive inn ønsket radiostasjon i valgene NRJ, NRK mp3, p3, The Beat, P4 og Radio Norge.

mark_down.png Annonse

Akuratt nå: Ask IT bruker og anbefaler one.com for domener, e-post og webhotell!
hva-er-ditt-nye-domene.com
Besøk oss på one.com