INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING
AGENDA Bakgrunn Hva er objektorientert programmering? Pseudokode Datatyper Attributter Metoder Returverdier Lister Relasjoner Spørsmål
BAKGRUNN Verdens første objektorientierte programmeringsspråk ble utviklet av nordmennene Ole-Johan Dahl og Kristen Nygaard her på UiO på 60- tallet Det største auditoriumet på Ole-Johan Dahls hus er oppkalt etter dette programmeringsspråket (Simula) Begge IFI-byggene er oppkalt etter disse to personene
HVA ER OBJEKTORIENTERT PROGRAMMERING? Objektorientert programmering handler å gjøre et konsept om til et objekt med attributter og metoder. Attributter beskriver egenskaper ved et objekt. Adjektiv slik som farge, størrelse, vekt osv. Metoder beskriver adferd for et objekt. Verb slik som løp(), gå(), hvisk(), spis() osv. Alle objekter defineres av en klasse.
PSUEDOKODE Pseudokode er en måte å planlegge kode på Man skisserer kode uten å ta hensyn til syntaks eller programmeringsspråk
DATATYPER Et attributt må definereres med en datatype o Vi må si hva slags type objekt attributtet er Person kan være en datatype På samme måte som Tekst, Tall eller Dato kan være datatyper
ATRIBUTTER MED PSUEDOKODE Vi kan definere et attributt på følgende måte med pseudokode: Her har vi beskrevet et attributt som vi kaller navn og som er av datatype Tekst Vi kan definere hvilken verdi attributtet navn skal ha slik:
METODER MED PSUEDOKODE Her har vi en metode som heter Ring: Vi sender med telefonnummeret som det skal ringes til som parameter. o Man kan sende med parametere av alle datatyper som er definert eller som du selv definerer o Man kan sende med så mange parametere som man ønsker Inni metoden forteller vi programmet hva som skal utføres når den blir kalt
KLASSE MED PSUEDOKODE
KLASSE MED PSUEDOKODE
GENERALISERING Dette er et klassehierarki: Passasjer er også en Bruker Kundebehandler er også en Bruker Bruker er ikke nødvendigis Passasjer eller Kundebehandler Passasjer er ikke Kundebehandler, og omvendt
GENERALISERING Bruker har brukernavn og kan bestille reise Bruker er ikke en Kundebehandler har ikke ansattid kan ikke endre reise
GENERALISERING Kundebehandler har ansattid og kan endre reise Kundebehandler er også en Bruker har ansattid kan endre reise
GENERALISERING MED PSUEDOKODE
RETURVERDIER MED PSUEDOKODE Noen ganger ønsker vi å få returnert en verdi o For eksempel hente brukernavn fra en bruker Bruker har en metode hentbrukernavn() som returnerer attributtet brukernavn av datatype Tekst
LISTER MED PSUEDOKODE Et atributt kan også være en liste eller mengde av objekter La oss anta at det finnes en datatype Liste i systemet vårt som holder på en mengde av objekter Vi kan hente en liste med biler slik:
RELASJONER MED PSUEDOKODE
TAKK FOR OSS! Spørsmål? Ta kontakt Emilie: emiliha@ifi.uio.no Kristin: kribrae@ifi.uio.no
Presentation template by SlidesCarnival Foilene er basert på fjorårets presentasjon laget av André Lincoln Read