INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING EMILIE HALLGREN OG KRISTIN BRÆNDEN



Like dokumenter
UNIVERSITETET I OSLO

Fra krav til objekter. INF1050: Gjennomgang, uke 05

Objektorientert programmering av vassdragselement. Jostein Orvedal Sognekraft AS

Use Case-modellering. INF1050: Gjennomgang, uke 04

Velkommen til. INF våren 2017

Objektorientering i VB en introduksjon

INF1000 Metoder. Marit Nybakken 16. februar 2004

Eksamen. Objektorientert Programmering IGR 1372

Hva er programmering?

Velkommen til. IN1010 Objektorientert programmering Våren 2018

IN1010 Objektorientert programmering Våren 2019

EKSAMENSOPPGAVE. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: JA / NEI Hvis JA: ca. kl. 10

datatyper Hva er programmering? Variabler og Informasjonsteknologi 2 Kompetansesemål

Velkommen til. INF våren 2016

Kunnskapsbasert Engineering (KBE) med Common Lisp

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Forkurs i informatikk Python. Andreas Færøvig Olsen

Sprettende ball Introduksjon Processing PDF

UNIVERSITETET I OSLO

lfæ~~~~:::j~~:~l -.~=:~-t::-d I Alle trykte og håndskrevne EKSAMENSOPPGA VE Side l av 5 Eksamenstid:

Beskrivelse av programmeringsspråket Simpila INF Kompilatorteknikk Våren 2012

EKSAMENSOPPGAVE. : INF-1400 Objektorientert programmering. Oppgavesettet er på 5 sider inklusiv forside

Java-kurs. Andreas Knudsen Nils Grimsmo 9th October 2003

JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS

6108 Programmering i Java. Leksjon 1. Introduksjon til programmering og til Java

GJENNOMGANG UKESOPPGAVER 4 USE CASE MODELLERING HELGA NYRUD & KRISTIN BRÆNDEN

UKE 11 UML modellering og use case. Gruppetime INF1055

EKSAMENSOPPGAVE. Adm.bygget, rom K1.04 og B154 Ingen. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: JA / NEI Hvis JA: ca. kl.

En snarvei til INF2100

Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.

Innhold Innledning 1. 5 Løkke som kontrollstruktur Et program med løkke som kontrollstruktur 132. vii

EKSAMENSOPPGAVE. Vil det bli gått oppklaringsrunde i eksamenslokalet? Svar: NEI

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

GJENNOMGANG UKESOPPGAVER 9 TESTING

Løse reelle problemer

UNIVERSITETET I OSLO

Object interaction. Innhold. Abstraksjon Grunnleggende programmering i Java Monica Strand 3. september 2007.

Spesifikasjon av Lag emne

UNIVERSITETET I OSLO

EKSAMENSOPPGAVE. INF-1400 Objektorientert Programmering. Dato: Tirsdag 23. mai Klokkeslett: Kl 17:00-21:00. Adm. bygget, Aud.

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

Antall sider (inkl. forsiden): 7. Alle trykte og håndskrevne

EKSAMENSOPPGAVE. INF-1400 Objektorientert Programmering. Dato: Torsdag 29. september Klokkeslett: Kl 09:00-13:00.

Løsningsveiledning for eksamensoppgaven i INF

UNIVERSITETET I OSLO

HTML5. Skjemaer på nettsider. Skjemaer med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS

LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring. Else Lervik, januar 2012.

Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

Abaris-notat Teknisk beskrivelse av kodeverkskomponent for ICPC-2

Innhold uke 10. Objektorientert programmering i Python. Oblig 7 og 8. IN1000 Seminar! IN1000 Høst 2018 uke 10 Siri Moe Jensen

Anbefalt litteratur: Pensum-bøker: Forelesere: Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon

EKSAMENSOPPGAVE. Eksamen i: INF-1400 Objektorientert programminering Dato: Mandag 26. mai 2014 Tid: Kl 09:00-13:00 Sted: Adm.

INF1000: Forelesning 7

BOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl

Argumenter fra kommandolinjen

INF1000 Behandling av tekster

UNIVERSITETET I OSLO

Objective-C. Ina Carine Aarvig

Enkle generiske klasser i Java

BOKMÅL Side 1 av 7. KONTINUASJONSEKSAMEN I FAG TDT4100 Objektorientert programmering / IT1104 Programmering, videregående kurs

GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML

EKSAMEN OBJEKTORIENTERT PROGRAMMERING Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig lokalt på hver maskin.

IN Seminaroppgaver til uke 11

Alt er objekter. Læreplansmål. Gløer Olav Langslet Sandvika VGS

1 Kodegenerering fra Tau Suiten

INF Obligatorisk innlevering 7

INF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen

Sideeekter og makroer i Lisp

Antall oppgaver: 6. Alle trykte og skrevne hjelpemidler

2 Om statiske variable/konstanter og statiske metoder.

Kapittel 3. The fun starts

INF1000: Forelesning 7. Konstruktører Static

UNIVERSITETET I OSLO

TDT4105 IT Grunnkurs Høst 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

TDT4102 Prosedyreog objektorientert programmering Vår 2016

class Book { String title; } class Dictionary extends Book { int wordcount; } class CartoonAlbum extends Book { int stripcount; }

HØGSKOLEN I SØR-TRØNDELAG

Debugging. Tore Berg Hansen, TISIP

Øvingsforelesning i Matlab (TDT4105)

Mer$om$objektorientering$og$UML

. Ved sensur vl1 ahe bokstaverte deloppgaver (a, b, c,...) telle like mye.

Oppgave 1: Multiple choice (20 %)

Mattespill Nybegynner Python PDF

UNIVERSITETET I OSLO

INF1010 våren Arv og subklasser del 1

Forkurs INF1010. Dag 2. Andreas Færøvig Olsen Tuva Kristine Thoresen

Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

TDT4102 Prosedyreog objektorientert programmering Vår 2016

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG

Arv. Book book1 = new Book(); book1. title = "Sofies verden" class Book { String title; } class Dictiona ry extends Book {

Høst Øving 5. 1 Teori. 2 Månedskalender. Norges teknisknaturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap

Eksamen IN1010/INF1010 våren 2018

Objective-C. Ina Carine Aarvig

Kapittel 6: Funksjoner

Dagens tema Kapittel 8: Objekter og klasser

MAT1030 Forelesning 14

Transkript:

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