1 / 22

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. eksempel:.

bowie
Download Presentation

main metoden

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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.

  2. eksempel: • public class Person{ private String navn; public Person(String nyttNavn){ navn = nyttNavn; } public static void main(String[] args){ Person per = new Person(”Per”); }}

  3. 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”);}}

  4. 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.

  5. 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?

  6. Arv: • public class Kjoretoy{ protected int antallHjul; protected String farge; public void sprayLakker(String nyFarge){ farge = nyFarge; }}

  7. public class Bil extends Kjoretoy{ private String bilmerke; private int gir; public Bil(String nyFarge){ antallHjul = 4; gir = 0; //Setter bilen i fri farge = nyFarge; } public void gir(int nyttGir){ gir = nyttGir; }}

  8. 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++; }}

  9. 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.

  10. Eksempel • mainmetode i Sykkelklassenpublic static void main(String[] args){ Sykkel minNyeSykkel = new Sykkel(”DBS”); minNyeSykkel.sprayLakker(”Blå”); minNyeSykkel.trakk();} • mainmetode i bilklassenpublic static void main(String[] args){ Bil gammelBil = new Bil(”grønn”); gammelBil.sprayLakker(”Gul”); gammelBil.gir(2);}

  11. Aksessermetoder Synlig? Tilgjengelig for protected package private public samme klasse klasse i samme pakke Subklasse i annen pakke Ikke subklasse i annen pakke

  12. 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?

  13. 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

  14. Klassediagram

  15. Sekvensdiagram

  16. Spørsmål 3: • Hva er hensikten med UML? • Hva beskriver et klassediagram? • Hva beskriver et sekvensdiagram? • Hvordan uttrykkes arv mellom klasser i UML?

  17. 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

  18. 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.

  19. 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?

  20. 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!

More Related