Objective-C. Ina Carine Aarvig
|
|
|
- Ester Corneliussen
- 9 år siden
- Visninger:
Transkript
1 Objective-C Ina Carine Aarvig
2 Innhold 1 Objective-Cs historie NeXT og Steve Jobs Apple Xcode 5 3 Objective-C Objekter, klasser og metoder Objekter Klasser Metoder Arv og interface Arv Interface Model-View-Controller Minnehåndtering Utprøvninger Enkle tester Color Swapper TicTacToe Avsluttning Ressurser Bibliografi 12 2
3 Innledning Anvendelsen av smarttelefoner og nettbrett har vokst kraftig de siste årene. Spesielt nettbrettet har vokst mye etter at Apple annonserte sin ipad. På grunn av den kraftige veksten tilbys det også et bredt utvalg applikasjoner. Apples App Store er verdens største samling med mobilapplikasjoner, hvor det finnes over stykker. Det finnes applikasjoner for hva som helst, slik som musikk, video, spill, helse, utdanning og mer. Programmeringsspråket som blir anvendt for å utvikle applikasjonene er Objective-C. 3
4 Objective-Cs historie Objective-C, ble først laget tidlig på tallet av Brad Cox og Tom Love, og har hatt en lang historie [2]. Programmeringsspråket stammer fra C, som er et ikke objektorientert språk. Et objektorientert språk går ut på å bruke/lage objekter som inneholder klart definert kode som kan fungere selvstendig, men også i større komplekse systemer hvor det er flere objekter som snakker sammen. Smaltalk var et av de første objektorientere programmeringsspråkene, og det er dette språket Objective-C bruker elementer fra.[1] 1.1 NeXT og Steve Jobs I slutten av tallet kjøpte NeXT og Steve Jobs rettighetene til Objective- C, og fortsatte å utvide språket til å bli ett av hovedspråkene i operativsystemet NeXTStep [2]. Dette operativsystemet ble lagt til grunn for Apples Mac OS X, og dermed tatt med seg bruken av Objective-C videre. Senere har det også blitt tilpasset til et mobilt operativsystem kalt ios som i dag blir anvendt på både iphone, ipad og ipod. [3] 1.2 Apple Steve Jobs var en av grunnleggerne av Apple men ble etterhvert dyttet ut av selskapet. Etter Apple, startet han bedriften NeXT, som utviklet operativsystemet NeXTStep. På tallet hadde Apple problemer med å utvikle et nytt operativsystem for å erstatte MacOS, som begynte å bli utdatert. Etter en del mislykkede forsøk, var de nødt til å komme fram til en løsning. Det var I 1997 hvor Apple kjøpte opp NeXT og operativsystemet deres, og som førte til at Steve Jobs kom tilbake til Apple. [3] 4
5 Xcode Xcode er en utviklingspakke for Objective-C. Den er utviklet av Apple og inneholder alt en trenger for å utvikle applikasjoner til både Mac OS X og ios. Den inneholder en simulator som viser hvordan applikasjonene vil fungere og se ut, og en interface builder for å sette opp et brukergrensesnitt grafisk. Den nyeste versjonen av Xcode kan lastes ned gratis uten at man behøver å være medlem av Apples utvikler program. For å kunne teste ut applikasjonene på en ipad/iphone, kreves det derimot et medlemsskap. Utviklingsprogrammet koster 99 dollar i året, hvor man i tillegg vil få muligheten til å legge ut sine applikasjoner på App Store. Figur 2.1: Dette bildet viser hvordan brukergrensesnittet til Xcode kan se ut. 5
6 Objective-C Objetive-C et objektorientert programmeringsspråk, som vil si at man bruker flere objekter som inneholder metoder og datastrukturer. Disse objektene kan opptre selvstendig eller være del av et større og kompleks system. For å kommunisere med andre objekter bruker de noe som kalles for metoder. Disse kan endre eller utlevere data om objektet etter hva man ønsker å gjøre. Det som definerer hvordan et objekt skal se ut er det som kalles for klasser. Klassene beskriver hvordan objektet skal oppføre seg og hvilke egenskaper de skal ha. 3.1 Objekter, klasser og metoder Objekter Et objekt inneholder strukturert data (instans variabler) og metoder som kan bruke eller endre objektets data. Et objekt kan sees på som en fullstendig og selvstendig programmeringsenhet. Den inneholder alle de delene den trenger for å være hel og er ikke avhengig av andre. For at andre skal få innformasjon om et objekt, må det være en metode som gir denne innformasjonen. [1] Feks - Et rektangel objekt vil ha en metode som sier noe om størrelsen. Et objekt har bare tilgang til sine egne metoder og kan ikke bruke metodene til andre objekter. Det gjemmer sine instans variabler og metoder i seg selv, akkurat som en funksjon som gjemmer sine lokale variabler fra resten av programmet. [1] Klasser En klasse er en arbeidstegning for et objekt. Den forteller hva slags egenskaper og hvordan et objekt skal oppføre seg. Endrer man på klassen vil alle dens instanser av objekter endre seg. Endrer man derimot på en av instansene, vil ikke dette ha noen effekt på de andre objektene. I Objective-C består en klasse av to filer, en header fil (.h) og en main fil (.m). Header fila er den som definerer og setter egenskapene på de metodene og variablene som skal implementeres i main fila. Det er også i denne filen hvor man bestemmer om klassen skal arve eller være en kategori til en annen klasse. 6
7 3.1.3 Metoder Metoder er det som blir brukt for å kommunisere i mellom flere objekter, og det å endre eller hente ut et objekts data. Det å sende en beskjed til et objekt, skrives ofte slik [mottaker beskjed]. Mottakeren er det objektet som skal få beskjed om å gjøre noe, altså utføre en metode som det blir kalt på (beskjeden). Når man skal kalle på en metode som har flere parametere skrives det ofte slik: [mittobjekt leggsammentallet:4 medtallet:5]. Det er også mulig at et parameter kan ta imot flere parametere. For å gjøre dette separerer man de med et komma. Parameterne vil ikke være en del av navnet på metoden, og det er heller ikke nødvendig å sende inn argumenter for utenom det første. De er valgfrie å ha med. Videre kan man også sende inn ett nytt metode kall som argument for et parameter. Et eksempel på dette er: [mittobjekt settfargentil: [mittandresobjekt farge]]. Variabler og metoder kan ha samme navn. [1] 3.2 Arv og interface Arv Klasser kan arve fra andre klasser, slik at de får egenskapene og metodene fra klassen det arves fra. En klasse kan bare arve fra en annen klasse, men en klasse kan ha flere forskjellige klasser som arver fra den. Klassen som arver i fra en annen klasse kalles for underklasse, mens den det arves i fra kalles for en superklasse/foreldreklasse. Arv kan sees på som strukturer eller hierarkier av klasser som deler noen egenskaper. Måten dette skrives på i Objective-C er TicTacToe : NS- Object. Det som skjer her er at klassen TicTacToe skal arve fra en annen klasse som heter NSObject. På denne måten vil TicTacToe klassen få alle egenskapene og metodene til NSObject. Men det betyr ikke at TicTacToe klassen ikke kan endre på metodene eller egenskapene den arver. En underklasse kan legge til sine egne metoder, men også endre på de den arver Interface Et interface sier noe om hvordan det brukeren ser skal se ut og inneholde. Det kan implementeres av flere klasser, men en klasse kan bare ha et interface. Klassen som implementerer et interface må da også implementere de metodene interfacet inneholder. 3.3 Model-View-Controller Model-View-Controller (MVC) går ut på å separere et View fra en Modell, og hvor man bruker en Controller for å kommunisere mellom disse. Et View er det som består av de UI elementene som skal vises og har en fil endelse på.xib. Modellen er den som inneholder de dataene og den innformasjonen som skal brukes. Noen eksempler på en Modell kan for eksempel være en database, en klasse eller en strukturert XML fil. Controlleren er en klasse som håndterer hvordan et View og en Modell skal snakke sammen, og har dermed jobben med å oppdatere modellen og viewet. Når man oppretter en controller klasse er det vanlig å ha med ordet ViewController som en del av klassenavnet. 7
8 3.4 Minnehåndtering I ios versjonene som er før versjon 5, må man administrere minnet selv da det ikke finnes noen garbage collection. Det som er vanlig å gjøre er at hver gang man kaller metoden alloc på et objekt, må man også kalle på metoden release. Metoden alloc ber om å få frigjort nok minne til oppretting av objektet det kalles på. Release metoden fungerer da på motsatt måte, at den fjerner objektet fra minnet slik at det ikke skal skje noen minnelekkasjer. 8
9 Utprøvninger Dette kapittelet tar for seg de testene som har blitt gjort underveis i fordypningen. Isteden for at all kode står her, ligger de i en mappe ved siden av som det er linket til på hovedsiden. De neste underkapitlene inneholder beskrivelse på hva testene går ut på og hva det er som skjer, med forklaring av kodeeksempler. 4.1 Enkle tester Fleste av de enkle testene som ble gjort gikk ut på å plassere ut grensesnitt objekter grafisk, men også ved å bruke bare kode. Det var også forskjellige versjoner av Hello World programmet som er vanlig å gjennomføre i de fleste programmeringsspråk. 4.2 Color Swapper Denne applikasjonen går ut på å koble seg opp mot Bonjour ved å bruke URL n til en Mac. Det den så gjør, ved hjelp av linken som inneholder en RGB kode, er å bytte farge i vinduet til en applikasjon som heter Kameleon. Det grafiske grensesnittet i Color Swapper er satt opp slik at den har et tekstfelt for å motta en URL, og tre knapper som hver har sin egen farge. Koden som er under viser noe av det som skjer når brukeren sender inn sin URL etter å ha trykket på en av knappene. NSURL *url = [[NSURL alloc] initwithstring:stringurl]; NSURLRequest *urlrequest = [[NSURLRequest alloc] initwithurl:url]; NSURLConnection *urlconnection = [[NSURLConnection alloc] initwithrequest:urlrequest delegate:self startimmediately:yes]; Det som skjer her, er at det først blir opprettet et URL med en tekststreng. Tekststrengen er den som brukeren skrev inn. Deretter blir det opprettet et URLRequest objekt med URL objektet, og så til slutt en URLConnection med forespørselobjektet. Det er URLConnection objektet som blir brukt videre for å sette opp tilkoblingen som sender forespørselen om å endre farge i Kameleon applikasjonen. Denne Color Swapper applikasjonen er enkel men ga en god trening på det å bruke en URL og sette opp en forbindelse. 9
10 4.3 TicTacToe Denne applikasjonen ble gjort ved å følge et av tutorialene til Wibit.net, og er rett å slett en enkel versjon av tre på rad spillet. Den går ut på at det er to spillere som spiller på den samme iphonen, eller at en spiller kan spille mot en kunstig spiller. Figur 4.1: Dette bildet viser hvordan TicTacToe appen ser ut, og hvordan simulatoren fungerer. Det første som ble gjort var å opprette den klassen som tar for seg reglene og hvordan brettet skal fungere i spillet. Eksempel på en kode bit her, er hvordan man finner ut av hvem sin tur det er. - (char) whoseturn { if(_movecount % 2) { return O ; } return X ; } Det som skjer her er at det er en metode som heter whoseturn, som skal returnere en karakter (char). Karakteren vil representere hvilken spiller det er. X er for den spilleren som starter og O er spiller nummer to. Det metoden gjør er å kjøre en if-test på om variabelen _movecount blir et oddetall når man tar modulus to. Er den det vil det være spiller to sin tur og O returneres. Hvis det er partall er det X som returneres. 10
11 Avsluttning Det å ha en forståelse av objektorientert programmering fra før av har hjulpet veldig med å forstå Objective-C. Men likevel har det vært vanskelig, da det er noe annerledes enn for eksempel Java. Det som har vært vanskelig er hvordan syntaksen i språket er, men også det å vite hva som er tilgjengelig av metoder og objekter. Og selvsagt, er det å måtte håndtere minnet selv en av de største utfordringene. Men det er noe som er viktig å kunne selv om det nå i ios 5 finnes en enklere måte å gjøre dette på. Forståelsen for Objective-C har helt klart blitt bedre, men det er likevel mye som gjenstår å lære seg. I denne fordypningen ble det sett på det grunnleggende, og ikke så veldig dypt inn på hvert enkelt tema. 5.1 Ressurser Her er de ressursene som ble brukt underveis for å lære Objective-C. Den ressursen som har vært veldig lærerik er et tutorial som består av flere videoer som tar for seg det meste innenfor Objective-C. Denne siden heter Wibit.net og her er det en link rett til Wibit.nets Objective-C tutorial En annen side som har hjulpet litt, men ikke like mye som forrige, er en blogg som inneholder mange tutorials for nybegynnere og de med litt mer erfaring. Denne siden er ikke like oppdatert på de siste versjonene av Objective-C, men har likevel vært nyttig. Icecodeblog.com tutorial 11
12 Bibliografi [1] Apple Inc. The objective-c programming language, URL Conceptual/ObjectiveC/Introduction/introObjectiveC.html. [2] Apple Inc. Object-oriented programming with objective-c, URL Conceptual/OOP_ObjC/Introduction/Introduction.html. [3] Neil Smyth. The history of objective-c, URL techotopia.com/index.php/the_history_of_objective-c. 12
Objective-C. Ina Carine Aarvig
Objective-C Ina Carine Aarvig 16.10.2011 Innhold 1 Objective-Cs historie 4 1.1 NeXT og Steve Jobs........................ 4 1.2 Apple................................ 4 2 Xcode 5 3 Objective-C 6 3.1 Objekter,
Hei verden Introduksjon Swift PDF
Hei verden Introduksjon Swift PDF Introduksjon Swift er et programmeringsspråk laget av Apple og er etterfølgeren til Objective-C. Med Swift kan du lage apper for ios og OSX. For å gjennomføre dette kurset
Hei verden. Introduksjon. Steg 1: Sette opp Xcode. Skrevet av: Andreas Amundsen
Hei verden Skrevet av: Andreas Amundsen Kurs: Swift Introduksjon Swift er et programmeringsspråk laget av Apple og er etterfølgeren til Objective-C. Med Swift kan du lage apper for ios og OSX. For å gjennomføre
Verden. Steg 1: Vinduet. Introduksjon
Verden Introduksjon Processing Introduksjon Velkommen til verdensspillet! Her skal vi lage begynnelsen av et spill hvor man skal gjette hvilke verdensdeler som er hvor. Så kan du utvide oppgava til å heller
Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide
Verden Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Velkommen
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Tirsdag 12. juni 2012 Tid for eksamen: 9:00 15:00 Oppgavesettet er
Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.
Tetris Introduksjon Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å
TDT4102 Prosedyreog objektorientert programmering Vår 2016
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 4 Frist: 2016-02-12 Mål for denne øvingen:
Forprosjekt gruppe 13
Forprosjekt gruppe 13 Presentasjon Tittel: Oppgave: Periode: Gruppemedlemmer: Veileder: Oppdragsgiver: Kontaktperson: Mobilbillett i HTML5 Utvikle en mobil billettautomat innenfor kategorien dedikert web
Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!
Tetris Skrevet av: Kine Gjerstad Eide Kurs: Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett
Klask-en-Muldvarp. Introduksjon. Skrevet av: Basert på MITs "MoleMash for App Inventor 2"-guide (
Klask-en-Muldvarp Skrevet av: Basert på MITs "MoleMash for App Inventor 2"-guide (http://appinventor.mit.edu/explore/ai2/molemash.html) Oversatt av: Hanne Johnsen Kurs: Appinventor Tema: App, Blokkbasert
TDT4102 Prosedyre og Objektorientert programmering Vår 2015
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Øving 3 Frist: 2014-02-07 Mål for denne øvinga:
2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
INF1010 MVC i tekstbaserte programmer
INF1010 MVC i tekstbaserte programmer Marit Nybakken [email protected] 9. februar 2004 Marit har ingen utdanning innen systemutvikling og vet antageligvis ikke hva hun prater om. Hun har dog skumlest
IN1010 V19, Obligatorisk oppgave 2
IN1010 V19, Obligatorisk oppgave 2 Innleveringsfrist: Tirsdag 26.02 kl 23.59 Introduksjon I de obligatoriske oppgavene fremover skal du lage et system som holder styr på leger, pasienter, resepter og legemidler.
public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
Klask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon
Klask-en-Muldvarp Introduksjon App Inventor Introduksjon I denne oppgaven skal vi lage et veldig enkelt spill med litt animasjon. Det som skal skje er at en muldvarp hopper rundt på spillbrettet mens du
Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.
Skilpaddeskolen Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk) Oversatt av: Bjørn Einar Bjartnes Kurs: Python Tema: Tekstbasert Fag: Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse
Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays
Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson
2 Om statiske variable/konstanter og statiske metoder.
Gaustadbekkdalen, januar 22 Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Innledning Dette notatet beskriver noe av det som foregår i primærlageret når
Steg 1: Lag bildedeklarasjon
Bildepresentasjon Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på
Kom i gang med Python
Kom i gang med Python Instruksjon for lærere Pål Hellesnes SYSTEMUTVIKLER [email protected] www.bedreinnsikt.no Dette dokumentet er en del av skolematerialet for undervisning i programmering. «Alle barn
Mål. Pensum. TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU
1 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Unntak (exceptions) (Kap 6) Dictionaries (Kap. 9) Terje Rydland - IDI/NTNU 2 Læringsmål og pensum Mål Lære å bruke unntak (Exceptions)
Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.
Pingviner på tur Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Velkommen til Scratch. Vi skal
I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.
JS: Hei JavaScript! Skrevet av: Arve Seljebu Kurs: Web Tema: Tekstbasert, Nettside Fag: Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon I denne oppgaven blir du introdusert for
TDT4100 Objektorientert programmering
Eksamensoppgave i TDT4100 Objektorientert programmering Tirsdag 2. juni 2009, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikrer Trond Aalberg. Kontaktperson under
Eksekveringsrekkefølgen (del 1) Oppgave 1. Eksekveringsrekkefølgen (del 2) Kommentar til oppgave 1. } // class Bolighus
// class Bygning Oppgave 1 System.out.println( Bolighus ); // class Bolighus Hva blir utskriften fra dette programmet? class Blokk extends Bolighus{ // class Blokk IN105subclassesII-1 Eksekveringsrekkefølgen
I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.
JS: Hei JavaScript! Introduksjon Web Introduksjon I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. Steg 1: Bruke
IN2000. Gjennomgang av tekniske oppgaver på prøveeksamen. Erlend Stenlund og Steffen Almås + innspill fra Gaute Berge
IN2000 Gjennomgang av tekniske oppgaver på prøveeksamen Erlend Stenlund og Steffen Almås + innspill fra Gaute Berge Hva er en Data Class i Kotlin? (1p) En data class er en klasse som brukes for å holde
Enkle generiske klasser i Java
Enkle generiske klasser i Java Oslo, 7/1-13 Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Del 1: Enkle pekere Før vi tar fatt på det som er nytt i dette notatet, skal vi repetere litt
Programmering i C++ Løsningsforslag Eksamen høsten 2005
Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det
Utvikle en prototype for en digital versjon av helsekort for gravide. Programvareleverandør av ehelse-løsninger for helsevesenet
Kravspesifikasjon Hovedprosjekt 2014 Institutt for informasjonsteknologi, Høgskolen i Oslo og Akershus Presentasjon Tittel: Oppgave: Gruppemedlemmer: Digitalt Helsekort for Gravide Utvikle en prototype
AlgDat 12. Forelesning 2. Gunnar Misund
AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av
"Hjerneteppe!" er en huskelek hvor du skal huske stadig lengre rekker med bokstaver!
PXT: Hjerneteppe! Skrevet av: Helene Isnes Kurs: Microbit Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon "Hjerneteppe!" er en huskelek hvor du skal huske
AlgDat 10. Forelesning 2. Gunnar Misund
AlgDat 10 Forelesning 2 Oversikt Java repetisjon IDE eller teksteditor + kommandolinje? Java Collections and Generics Programvareutvikling En mengde mer eller mindre veldefinerte metoder (software engineering):
public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
1. NetBeans IDE: Lage en enkel mobilapplikasjon
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag NetBeans IDE: Lage en enkel mobilapplikasjon Mildrid Ljosland/Lene Hoff 09.09.2008 Lærestoffet er utviklet for faget SO350D J2ME for programmering
VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang
VMware Horizon View Client Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang Introduksjon Fjerntilgang er blitt oppgradert til en bedre og mer moderne løsning. Programmet er identisk
Last ned iphone boka - Bjørn Eirik Loftås. Last ned
Last ned iphone boka - Bjørn Eirik Loftås Last ned Forfatter: Bjørn Eirik Loftås ISBN: 9788293321309 Antall sider: 159 Format: PDF Filstørrelse:18.57 Mb Det er ingen tvil om at iphone er en av de beste
Introduksjon til programmering og programmeringsspråk
Introduksjon til programmering og programmeringsspråk Henrik Lieng Høgskolen i Oslo og Akershus https://code.org/ Veldig høy-nivå programmering med Scratch End-user programming Overtone, Tidal, etc., bygger
Tips og triks nettbrett (ios og Android) Kristiansand folkebibliotek
Tips og triks nettbrett (ios og ) Kristiansand folkebibliotek Hva er nettbrett?... 2 ipad... 3... 3 App er... 4 Sikkerhet... 9 Tilpassing...10 Oppdatering...10 Praktiske ting...10 Sikkerhetskopiering...12
Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!
Microbit PXT: Terning Skrevet av: Geir Arne Hjelle Kurs: Microbit Språk: Norsk bokmål Introduksjon Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt! Steg 1: Vi rister løs Vi
notater Gule lapper Mine Et praktisk eksempel med objekter IT2 Læreplansmål Gløer Olav Langslet Sandvika VGS
Mine notater Gløer Olav Langslet Sandvika VGS Et praktisk eksempel med objekter Vi kjenner alle til korktavlen med gule lapper. Vi henger opp en lapp for at vi selv eller andre skal huske eller bli minnet
Før i tiden krydde det av små sjapper TA MED UNDERHOLDNINGEN PÅ TUR:
TA MED UNDERHOLDNINGEN PÅ TUR: OVERSIKT VANSKELIGHETSGRAD Lett Middels Vanskelig Legg dvd-filmer på FOR PC-ER MED Windows 8 Windows 7 Windows Vista Windows XP FOR BRETT MED Android ios (Apple) DETTE TRENGER
KONICA MINOLTA LØSNINGER FOR MOBIL UTSKRIFT
JOHN FÅ GLEDEN DOE INC. AV EN ENJOYS FLEKSIBEL TRUSTFUL ARBEIDSSTIL RELATIONSHIP MED MOBIL UTSKRIFT WITH KONICA MINOLTA Global technology leader profits from document security, lower costs, greener printing
INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING EMILIE HALLGREN OG KRISTIN BRÆNDEN
INNFØRING I PRINSIPPER FOR OBJEKTORIENTERT PROGRAMMERING AGENDA Bakgrunn Hva er objektorientert programmering? Pseudokode Datatyper Attributter Metoder Returverdier Lister Relasjoner Spørsmål BAKGRUNN
Nedlasting av apper på Apple
Nedlasting av apper på Apple Vi skal se på hvordan du kan laste ned apper på ditt nettbrett. Først, hva menes med uttrykkene app, apper applikasjoner. app er kortversjonen av det engelske uttrykket application,
INF1010 våren januar. Objektorientering i Java
INF1010 våren 2017 25. januar Objektorientering i Java Om enhetstesting (Repetisjon av INF1000 og lær deg Java for INF1001 og INF1100) Stein Gjessing Hva er objektorientert programmering? F.eks: En sort
EKSAMENSOPPGAVE. : INF-1400 Objektorientert programmering. Oppgavesettet er på 5 sider inklusiv forside
FAKULTET FOR NATURVITENSKAP OG TEKNOLOGI! EKSAMENSOPPGAVE Eksamen i : INF-1400 Objektorientert programmering Dato : Mandag 27. mai 2013 Tid : 0900 1300 Sted : Åsgårdvegen 9 Tillatte hjelpemidler : Ingen
Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP.
1 Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP. (Læreboka kapittel 2-5) Legg merke til den første blokken,
Objektorientert programmering i Python
Objektorientert programmering i Python IN1000 Høst 2019 uke 8 Siri Moe Jensen Læringsmål uke 8 Repetisjon fra forrige uke Definere en klasse, opprette og arbeide med objekter: How-to
KRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni.
KRAVSPESIFIKASJON Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni. Prosjektgruppe: 27 Prosjektmedlem: Ole Almenning Stenhaug Veileder.
Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler
Matematikk 1000 Øvingsoppgaver i numerikk leksjon 4 m-ler I denne øvinga skal vi lære oss å lage m-ler små tekstler som vi bruker i MATLAB-sammenheng. Der nst to typer m-ler: Funksjonsler og skript. Funksjonsler
Steg 1: Piler og knappetrykk
PXT: Er du rask nok? Skrevet av: Julie Christina Revdahl Kurs: Microbit Tema: Blokkbasert, Spill, Elektronikk Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole
Breakout. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle og Martin Lie
Breakout Skrevet av: Geir Arne Hjelle og Martin Lie Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon Breakout
INF Obligatorisk innlevering 7
INF1000 - Obligatorisk innlevering 7 Høsten 2016, IFI UiO Frist: 6. November 2016 kl 22:00 Tema denne uka: Et større objektorientert program. Administrasjon av eierskap og utlån av DVD-er I denne oppgaven
Et større programeksempel. Hvordan løse et reelt problem med en objektorientert fremgangsmåte
Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte Plan for forelesingen Beskrive en større problemstilling Planlegge programmet Skrive koden, én klasse om gangen
Innhold uke 8. Objekter: Bruk og intern organisering. Beskjeder: Oblig 1 6. Beskjeder: Oblig 7 (og 8)
Innhold uke 8 Objekter: Bruk og intern organisering IN1000 Høst 2017 uke 8 Siri Moe Jensen Repetisjon fra forrige uke Definere en klasse, opprette og arbeide med objekter: How to Forstå (mer av) hva som
EKSAMEN OBJEKTORIENTERT PROGRAMMERING Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig lokalt på hver maskin.
EKSAMEN 6109 OBJEKTORIENTERT PROGRAMMERING 31.05.2016 Tid: 4 timer (9-13) Målform: Sidetall: Hjelpemidler: Merknader: Bokmål 5 (inkludert denne) Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig
Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus
Introduksjon til programmering og programmeringsspråk Henrik Lieng Høgskolen i Oslo og Akershus Kategorisering av programmeringsspråk? Deklarativ vs. imperativ Lav nivå vs. høy nivå Kompilert vs. tolket
Gruppe 43. Hoved-Prosjekt Forprosjekt
Gruppe 43 Hoved-Prosjekt Forprosjekt Mobil Applikasjon Utvikling HiOA Bacheloroppgave forprosjekt våren 2017 Presentasjon Gruppen består av: Gebi Beshir Ole-Kristian Steiro Tasmia Faruque s182414 s189141
UNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider. Vedlegg:
Administrering av SafariSøk
Administrering av SafariSøk Administrering av SafariSøk Revisjonshistorie Revisjon $Revision: 1.6 $ $Date: 2003/08/05 12:44:02 $ Innholdsfortegnelse 1. Om programmet... 1 Generelt... 1 2. Fremgangsmåter...
Seminaroppgaver IN1010, uke 2
Seminaroppgaver IN1010, uke 2 1.a: Skriv en klasse HeiVerden.java. Klassen skal inneholde en main- metode (se på notatet fra tidligere). Inne i main -metoden skal programmet først la brukeren oppgi en
Test 2 OOP. - Prøveeksamen
Test 2 OOP - Prøveeksamen 2007 - Viktig: Jobb med oppgavene som om det var eksamen Ikke snakk med sidemann, ta korte pauser, benytt kun skriftlige hjelpemidler du hadde tenkt til å hatt med på eksamen.
Komme igang med App Inventor Introduksjon App Inventor PDF
Komme igang med App Inventor Introduksjon App Inventor PDF Introduksjon Dette er en introduksjon til MIT App Inventor, hvor du skal lære å lage applikasjoner til Android. Å lage apps i App Inventor er
INF1000 Metoder. Marit Nybakken [email protected] 16. februar 2004
INF1000 Metoder Marit Nybakken [email protected] 16. februar 2004 Motivasjon Når man begynner å skrive store programmer, vil man fort oppleve at programmene blir uoversiktlige. Det blir vanskeligere
I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.
Hei JavaScript! Introduksjon Web Introduksjon I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt. Steg 1: Bruke JS Bin
Oppdatering til boka: Programmering i ActionScript 3.0 Flash CS3 Professional
1 Oppdatering til boka: Programmering i ActionScript 3.0 Flash CS3 Professional Endringer i Flash CS5 Professional I denne oppdateringen går vi gjennom boka Programmering i ActionScript 3.0 Flash CS3 Professional
Berøringsskjerm - og hva så?
Contents Berøringsskjerm - og hva så?... 2 Navigasjon på en berøringsskjerm... 3 Hva bør jeg velge - mobiltelefon eller nettbrett?... 4 Android eller ios - hva fungerer best uten syn?... 4 (Dette innholdet
ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide
ToPlayer Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon: Nå skal vi
Object interaction. Innhold. Abstraksjon 03.09.2007. Grunnleggende programmering i Java Monica Strand 3. september 2007.
Object interaction Grunnleggende programmering i Java Monica Strand 3. september 2007 1 Innhold Til nå: Hva objekter er og hvordan de implementeres I klassedefinisjonene: klassevariable (fields), konstruktører
Qt Jambi E t R ammeverks His torie
Qt Jambi E t R ammeverks His torie Hvem er jeg? Eskil Abrahamsen Blomfeldt Hovedfag i informatikk fra Blindern Spesialisering i programmeringsspråk og kompilatorteori Utvikler i Trolltech siden 2005 Vedlikehold
Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...
Innhold Forord...3 Begreper og akronymer...4 Systembeskrivelse...5 Generelt...5 Funksjonelle krav...7 Ikke-Funksjonelle krav...9 Prioritering...9 2 Forord Denne kravspesifikasjonen har blitt utviklet i
PGZ - Hangman Ekspert Python Lærerveiledning
PGZ - Hangman Ekspert Python Lærerveiledning Introduksjon I denne oppgaven skal vi lage vårt eget hangman-spill. Vi har laget litt ferdigskrevet kode for å hjelpe deg på vei. Den kan du laste ned her.
IN1010 våren januar. Objektorientering i Java
IN1010 våren 2018 23. januar Objektorientering i Java Om enhetstesting Om arrayer og noen klasser som kan ta vare på objekter Stein Gjessing Hva er objektorientert programmering? F.eks: En sort boks som
EKSAMEN I FAG TDT4100 Objekt-orientert programmering. Fredag 3. juni 2005 KL. 09.00 13.00
Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap EKSAMEN I FAG
Kjørehjelperen Produktdokumentasjon
2013 Kjørehjelperen Produktdokumentasjon Høgskolen i Oslo og Akershus Henrik Hermansen og Lars Smeby Gruppe 8 26.05.2013 Forord Produktbeskrivelsen inneholder en beskrivelse av Kjørehjelperen. De første
Argumenter fra kommandolinjen
Argumenter fra kommandolinjen Denne veiledningen er laget for å vise hvordan man kan overføre argumenter fra kommandolinjen til et program. Hvordan transportere data fra en kommandolinje slik at dataene
Kapittel 1: Datamaskiner og programmeringsspråk
Kapittel 1: Datamaskiner og programmeringsspråk Redigert av: Khalid Azim Mughal ([email protected]) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen
Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.
Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter
Brukerhåndbok. AirPrint
Brukerhåndbok AirPrint FORORD Mye arbeid er blitt lagt ned for å sikre at informasjonen i dette dokumentet er fullstendig, nøyaktig og oppdatert. Produsenten påtar seg ikke ansvar for konsekvenser av feil
Hvordan man kobler til printeren, laster ned CardPresso, installerer skrifttypen og får kommet i gang med produktet.
Komme i gang med printeren Hvordan man kobler til printeren, laster ned CardPresso, installerer skrifttypen og får kommet i gang med produktet. Innholdsfortegnelse Komme i gang med printeren... 1 Laste
Sprettball Erfaren ComputerCraft PDF
Sprettball Erfaren ComputerCraft PDF Introduksjon Nå skal vi lære hvordan vi kan koble en skjerm til datamaskinen. Med en ekstra skjerm kan vi bruke datamaskinen til å kommunisere med verden rundt oss.
Contents. Utforming... 2 Start enheten... 2 En enhet som snakker... 2 Hjelp i VoiceOver... 4
Contents Utforming... 2 Start enheten... 2 En enhet som snakker... 2 Hjelp i VoiceOver... 4 Dette kapitlet er ment som hjelp for deg som har anskaffet en ios-enhet og vil ta den i bruk. Kapitlet vil også
(X)HTML, CSS og JavaScript HTML. Det første dokumentet 26.11.2007. Grunnleggende programmering i Java Monica Strand 26.
(X)HTML, CSS og JavaScript Grunnleggende programmering i Java Monica Strand 26. november 2007 Gr. leggende Java 26. november 2007 1 HTML HTML = Hyper Text Markup Language Strukturerer tekstinnhold HTML
JavaScriptbibliotek. Introduksjon MVVC. Informasjonsteknologi 2. Gløer Olav Langslet Sandvika VGS
MVVC JavaScriptbibliotek Gløer Olav Langslet Sandvika VGS Knockout.js Informasjonsteknologi 2 Introduksjon I dag skal vi se nærmere på et JavaScriptbibliotek som heter Knockout. Knockout og andre biblioteker,
TDT4165 PROGRAMMING LANGUAGES. Exercise 02 Togvogn-skifting
TDT4165 PROGRAMMING LANGUAGES Fall 2012 Exercise 02 Togvogn-skifting Problembeskrivelse Du er sjef for å skifte vognene til et tog. Vi antar at hver vogn selv har en motor og at toget ikke har noe lokomotiv.
PXT: Micro:bit repeater
PXT: Micro:bit repeater Skrevet av: Julie Christina Revdahl Kurs: Microbit Tema: Elektronikk, Blokkbasert, Spill Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole
INF Notater. Veronika Heimsbakk 10. juni 2012
INF1010 - Notater Veronika Heimsbakk [email protected] 10. juni 2012 1 Tilgangsnivåer 2 CompareTo Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N no modifier Y Y N N
