22
main metoden public static void main(String[] args) { } Inni denne metoden skjer alt! Det kan bare finnes en main metode per program. Den kan ligge i hvilkensomhelst klasse. Men for å kjøre programmet må man kjøre den filen main metoden ligger i.

main metoden

  • Upload
    bowie

  • View
    53

  • Download
    3

Embed Size (px)

DESCRIPTION

main metoden. public static void main(String[] args){ } Inni denne metoden skjer alt! Det kan bare finnes en main metode per program. Den kan ligge i hvilkensomhelst klasse. Men for å kjøre programmet må man kjøre den filen main metoden ligger i. eksempel:. - PowerPoint PPT Presentation

Citation preview

Page 1: main metoden

main metoden

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

Inni denne metoden skjer alt! Det kan bare finnes en main metode per

program. Den kan ligge i hvilkensomhelst klasse. Men for å kjøre programmet må man

kjøre den filen main metoden ligger i.

Page 2: main metoden

eksempel:

public class Person{private String navn;public Person(String nyttNavn){

navn = nyttNavn;}public static void main(String[] args){

Person per = new Person(”Per”);}

}

Page 3: main metoden

public class Bil{private Person eier;private String bilmerke;

public Bil(Person nyEier,String nyttBilmerke){eier = nyEier;bilmerke = nyttBilmerke;}

public static void main(String[] args){Person personMedBil = new Person(”Per”);Bil raserbil = new

Bil(personMedBil,”volvo”);}}

Page 4: main metoden

Og så...

Først må filene lagres som henholdsvis: Person.java og Bil.java

Deretter må begge filene kompileres med komandoen javac Person.java/Bil.java

Og så for å kjøre programmet skriver man java filnavn. Man kan enten skrive java Bil eller java Person.

Page 5: main metoden

Spørsmål 1

Hvordan kjører man et program? Hva skjer i praksis når man kjører et

program? Kan det være mainmetoder i alle klasser? Har det noe å si hvor man legger

mainmetoden? Hvorfor har dere ikke brukt mainmetoden i

BlueJ?

Page 6: main metoden

Arv: public class Kjoretoy{

protected int antallHjul;protected String farge;

public void sprayLakker(String nyFarge){farge = nyFarge;

}}

Page 7: main metoden

public class Bil extends Kjoretoy{private String bilmerke;private int gir;

public Bil(String nyFarge){antallHjul = 4;gir = 0; //Setter bilen i frifarge = nyFarge;

}public void gir(int nyttGir){

gir = nyttGir;}

}

Page 8: main metoden

public class Sykkel extends Kjoretoy{private String sykkelType;private int fart;

public Sykkel(String nySykkelType){antallHjul = 2;fart = 0;farge = ”lilla”;sykkelType = nySykkelType;

}public void trakk(){

fart++;}

}

Page 9: main metoden

Teoretiske betraktninger om arv Man oppnår arv ved å skrive extends

Klassenavn mellom klassenavnet og krøllparantesen som starter klassen.eks: public class Sykkel extends Kjoretoy{

Klassen som det arves fra kalles super klassen.

Klassen som arver kalles subklassen. Alle public og protected variabler og metoder

arves. Private variabler og metoder arves ikke.

Page 10: main metoden

Eksempel mainmetode i Sykkelklassen

public static void main(String[] args){Sykkel minNyeSykkel = new Sykkel(”DBS”);minNyeSykkel.sprayLakker(”Blå”);minNyeSykkel.trakk();

} mainmetode i bilklassen

public static void main(String[] args){Bil gammelBil = new Bil(”grønn”);gammelBil.sprayLakker(”Gul”);gammelBil.gir(2);

}

Page 11: main metoden

AksessermetoderTilgjengelig for

Synlig?

public protected package private

samme klasse

klasse i samme pakke

Subklasse i annen pakke

Ikke subklasse i annen pakke

Page 12: main metoden

Spørsmål 2: Kan en metode arve en annen metode? Kan en klasse arve en annen klasse? Hvordan uttrykker du at en klasse skal

arve en annen? Hva kan en klasse arve fra en annen

klasse? Hvordan kan du bestemme hva en

klasse arver? Hva er hensikten med arv?

Page 13: main metoden

UML - Unified Modeling Language En måte å beskrive programmet ditt på. Kan både beskrive klassene dine ... og vise hvordan forskjellige instanser

virker sammen 10 - 20 forskjellige diagram 2 viktige for oss:

– Klassediagram– Sekvensdiagram

Page 14: main metoden

Klassediagram

Bil

eier : Personbilmerke : StringantallHjul : int

Bil(nyEier : Person, nyttBilmerke : String)hentAntallHjul() : intmain(String[] args)

Page 15: main metoden

Kjoretoy

antallHjul : intfarge : String

sprayLakker(nyFarge : String)

Bil

bilmerke : Stringgir : int

Bil(nyFarge : String)gir(nyttGir : int)

Sykkel

sykkelType : Stringfart : int

Sykkel(nySykkeltype : String)trakk()

Page 16: main metoden

SekvensdiagramminNyeSykkel :

Sykkel

Sykkel(String)

sprayLakker(String)

trakk( )

Page 17: main metoden

petter : Person denNyeSykkelenMin : Sykkel

denGamleBilen : Bil

Person(String)

Sykkel(String)sprayLakker(String)

Bil(String)

Page 18: main metoden

Spørsmål 3:

Hva er hensikten med UML? Hva beskriver et klassediagram? Hva beskriver et sekvensdiagram? Hvordan uttrykkes arv mellom klasser i

UML?

Page 19: main metoden

Javadoc

En måte å dokumentere koden på. API genereres automatisk. Begynner alltid med /** Har faste felt som:

– @autor ditt navn– @version feks v1.0– @param argumentnavn beskrivelse– @return beskrivelse

Page 20: main metoden

Generelt om dokumentasjon

Ingen vil skrive det. Alle ønsker å ha det. Alle sier at det ikke er nødvendig. Når du tar frem kode du selv har laget

for 1 år siden, så får ofte utsagnet: Alltid dokumenter kode en helt annen betydning.

Page 21: main metoden

Spørsmål 4:

Hvor skriver man dokumentasjon? Hva er hensikten med dokumentasjon? Når er dokumentasjon nødvendig? Hva har dokumentasjon til felles med

innkapslling? Hva er javadoc?

Page 22: main metoden

Generelle tips til øving 3 Ta det med ro! (Øvingen er ikke så omfattende

som det kan virke ved første øyekast.) Lag alle klassene uten innhold først. Fyll på

med metoder og variabler etter som du trenger det.

Alt som skjer skjer pga mainmetoden. Bruk System.out.println(); hvis du er usikker på

hva som skjer. Bruk kompeleringsfeil siden. Den kan spare

deg for mange timer foran pcen!