Innlevering til modul3 med oppsummering

Linken til video

Min oppsummering av det jeg har lært hittil.

I løpet av de siste 3 månedene har jeg gått gjennom pensum tilsvarende modul 1,2,3, og har lært mye nytt og interessant.

Jeg har lært meg å lage en egen klasse med å bruke BlueJ, som innebærer å kalle forskjellige metoder så kalte mutator metoder som skifter stand av et objekt, og accessor metoder som kan returnere tilstand av et objekt.  Deklarere felt i min klasse som kan ha diverse tilgang public/private/package som tilsier hva slags tilgang de andre objektene kan få til de feltene.

Felter også kan være av forskjellige typer, objekttype hvor vi deklarer et felt der vi skal holde referanse til et nytt objekt som skal lages i løpet av utføring av programmet. Og primitive type felt som int, char, boolean, double, float som holde enkelte verdier.

Litt mer triviell ting men den brukes ganske ofte av meg, men skal nevnes uansett er å skrive ut tekst i terminalen med å bruke System.out.println() funkjson.

Jeg har sett på forskjellige typer av statement f.eks. if, else if , else og switch (på egen hånd.). De brukes som funksjoner som går ut ifra verdier som beholdes i klasse felter, eller er deklarert inni metode selv for å bestemme hva slags funksjon skal de utføre.

Har lært forskjellen mellom Lifetime av variable deklarerte i løpet av metode og de som er deklarerte i klase selv. Metoder som er deklarert inni metode har levetid bare i løpet av utføring av metode og da verdiene forsvinner. Imidlertid deklarerte verdier i klasse selv har en levetid så langt et objekt eksiterer.

Har lært å lage metoder som kan lage  objekter av en andre klasser, kalle metoder i de andre definerte klassene.

Lage en metode som skal kalle metode i en annen klasse og samtidig bruke parameter som returneres med metode som kalles i hoved klassen min(eksempel nedover.)

checker1 = new Pricechecker();

checker1.setHight(getHight());

checker1.setWidth(getWidth());

Har lært også å lage en klasse med flere konstruktører (overload) . Har lært meg å bruke debugger for å gå på metode med brakkpoeng step-by-step, og se på slags forandringer av felter og verdier som skjer mens vi kaller metoder.

Og den siste viktigste ting som jeg har kanskje lært meg er en forståelse om modulasation og abstraksjon.

Med å modulere et program tanken er får å dele et problem i subproblemer og subproblemer i sub-subproblemer, enkelt sagt dele programmet i flere små bitter som kan hjelpe å letere finne ut av problemet som kanskje oppstår kun i subnivået av programmet.

Tanken bak abstraksjon er imidlertid situasjon der hvor man innbilder deler av kode som er ikke definert enda, eller skal defineres av andre programmerere. Man skal bruke abstraksjon for å innbilde de andre delene av programkode som skal virke som den må i samsvaret med egen kode, og med dette kan man fokusere må egne problemer i sin kode, men ikke på problemer som oppstår i andres kode.

F.eks. når designer skal lage et panel til en bil, tenker han ikke på hva slags motor skal gå inni bilen, eneste ting som man må vite er at motor skal virke sånt og sånt, og skal ta såpass og såpass mye plass. Det samme gjelder abstraksjon i programmering. Programmere må også enige om felter og verdier som skal defineres i klassen for å sørge for at klassen skal virke som planlagt.

Det mange ting kommer i framover når det gjelder programmering, og jeg gleder meg til å lære dem.