Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Main metoden n public static void main(String[] args){ } n Inni denne metoden skjer alt! n Det kan bare finnes en main metode per program. n Den kan ligge.

Liknende presentasjoner


Presentasjon om: "Main metoden n public static void main(String[] args){ } n Inni denne metoden skjer alt! n Det kan bare finnes en main metode per program. n Den kan ligge."— Utskrift av presentasjonen:

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

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

3 n 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å... n Først må filene lagres som henholdsvis: Person.java og Bil.java n Deretter må begge filene kompileres med komandoen javac Person.java/Bil.java n Og så for å kjøre programmet skriver man java filnavn. Man kan enten skrive java Bil eller java Person.

5 Spørsmål 1 n Hvordan kjører man et program? n Hva skjer i praksis når man kjører et program? n Kan det være mainmetoder i alle klasser? n Har det noe å si hvor man legger mainmetoden? n Hvorfor har dere ikke brukt mainmetoden i BlueJ?

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

7 n 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 n 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 n Man oppnår arv ved å skrive extends Klassenavn mellom klassenavnet og krøllparantesen som starter klassen. eks: public class Sykkel extends Kjoretoy{ n Klassen som det arves fra kalles super klassen. n Klassen som arver kalles subklassen. n Alle public og protected variabler og metoder arves. Private variabler og metoder arves ikke.

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

11 Aksessermetoder Tilgjengelig for Synlig? public protectedpackageprivate samme klasse klasse i samme pakke Subklasse i annen pakke Ikke subklasse i annen pakke

12 Spørsmål 2: n Kan en metode arve en annen metode? n Kan en klasse arve en annen klasse? n Hvordan uttrykker du at en klasse skal arve en annen? n Hva kan en klasse arve fra en annen klasse? n Hvordan kan du bestemme hva en klasse arver? n Hva er hensikten med arv?

13 SUPER n super(); n public Kjoretoy(String nyFarge){ farge = nyFarge; } public Sykkel(String nyFarge){ super(nyFarge); }

14 UML - Unified Modeling Language n En måte å beskrive programmet ditt på. n Kan både beskrive klassene dine... n og vise hvordan forskjellige instanser virker sammen n 10 - 20 forskjellige diagram n 2 viktige for oss: –Klassediagram –Sekvensdiagram

15 Klassediagram

16

17 Sekvensdiagram

18

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

20 Javadoc n En måte å dokumentere koden på. n API genereres automatisk. n Begynner alltid med /** n Har faste felt som: –@autor ditt navn –@version feks v1.0 –@param argumentnavn beskrivelse –@return beskrivelse

21 Generelt om dokumentasjon n Ingen vil skrive det. n Alle ønsker å ha det. n Alle sier at det ikke er nødvendig. n 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.

22 Spørsmål 4: n Hvor skriver man dokumentasjon? n Hva er hensikten med dokumentasjon? n Når er dokumentasjon nødvendig? n Hva har dokumentasjon til felles med innkapslling? n Hva er javadoc?

23 Generelle tips til øving 3 n Ta det med ro! (Øvingen er ikke så omfattende som det kan virke ved første øyekast.) n Lag alle klassene uten innhold først. Fyll på med metoder og variabler etter som du trenger det. n Alt som skjer skjer pga mainmetoden. n Bruk System.out.println(); hvis du er usikker på hva som skjer. n Bruk kompeleringsfeil siden. Den kan spare deg for mange timer foran pcen!


Laste ned ppt "Main metoden n public static void main(String[] args){ } n Inni denne metoden skjer alt! n Det kan bare finnes en main metode per program. n Den kan ligge."

Liknende presentasjoner


Annonser fra Google