Objective-C. Shermila Thillaiampalam
|
|
- Torbjørn Frantzen
- 8 år siden
- Visninger:
Transkript
1 Objective-C Shermila Thillaiampalam
2 Innhold 1 Kort om Objective-C Xcode Historie Programmeringsspråket C Smalltalk C møter Smalltalk Objective-C Apple Objekt Grunnleggende om Objekter Id Dynamisk programmering Polymorfisme Klasser Arv Metoder 10 6 Minnehåndtering 11 7 Runtime 12 8 Eget Arbeid ColorSwapper Navigator app Applikasjon Konklusjon/Avsluttning 14 Bibliografi 15 2
3 Innledning 3
4 Kort om Objective-C Objective-C er et programeringsspåk som er designet for å programere objektorientert på en elegant måte. Det er et lite men kraftig utvidelse av det opprinnelige programeringsspråket ANSI C. Objektive-C er desinget slik at C får full kapasitet til objeckt-orientert programmering, og dette på en rett og enkel måte. Programmeringsspråket inneholder mange av de tradisjonelle objektorienterte funksjonene, som innkapsling, arv og polymorfisme. Objective-C støtter de samme grunnleggende syntax som C. Man må definere header-filer og kilde-filer til seperate offentlige erklæringer(declarations). I tillegg til filene over finnes det en fil til, en.xib-fil Denne viser den grafiske grensesnittet til applikasjonen. Dette er noe man finner i Xcode under ios programmering, slik at programmereren skal ha en oversikt over programmet sitt. For å inkludere en header fil i kildekoden, må man skrive "import"og navnet på filen. "importfungerer på samme måte som "include", bortsett fra at den sørger for at samme fil aldri er inkludert mer enn én gang. Både språket og alle dokumentasjoner foretrekker "import". [3] 1.1 Xcode 4
5 Historie 2.1 Programmeringsspråket C Objective-C er basert på programmeringsspråket C. Opprinnelsen til programmeringsspråket C kan spores tilbake nesten 40 år, til to ingeniører kalt Dennis Ritchie og Ken Thompson. Som jobbet ved det som nå er kjent som AT and T Bell Labs. De ble med på den tiden, å utvikle opperativsystemet UNIX på PDP-7 og PDP-11 systemer. Etter flere forsøk på å skrive dette operativsystemet med andre grunnleggende monterings programmeringsspråk, fant de ut at det trengtes et mer avansert og mer programmerer vennlig programmeringsspråk. Slik at det hadde kapasitet til å håndtere et så komplekst opperativsystem som UNIX. Det første forsøket var et programmeringsspråk kalt B. B som var et programmeringsspråk basert på et språk kalt BCPL, holdt desverre ikke standarden, slik at den kunne bli brukt. Siden C er den neste initialen i navnet BCPL, ble neste språk som ble opprettet, kalt nettopp C. C ble senere brukt til å skrive store deler av UNIXs kjenre og infrastuktur. Siden C var så vellykket, var det aldri noe etterspørsel etter eller nytte av å opprette programmeringsspråk kalt P eller L.[4] 2.2 Smalltalk Objective-C er basert på programmeringsspråket C. Opprinnelsen til programmeringsspråket C kan spores tilbake nesten 40 år, til to ingeniører kalt Dennis Ritchie og Ken Thompson. Som jobbet ved det som nå er kjent som AT and T Bell Labs. De ble med på den tiden, å utvikle opperativsystemet UNIX på PDP-7 og PDP-11 systemer. Etter flere forsøk på å skrive dette operativsystemet med andre grunnleggende monterings programmeringsspråk, fant de ut at det trengtes et mer avansert og mer programmerer vennlig programmeringsspråk. Slik at det hadde kapasitet til å håndtere et så komplekst opperativsystem som UNIX. Det første forsøket var et programmeringsspråk kalt B. B som var et programmeringsspråk basert på et språk kalt BCPL, holdt desverre ikke standarden, slik at den kunne bli brukt. Siden C er den neste initialen i navnet BCPL, ble neste språk som ble opprettet, kalt nettopp C. C ble senere brukt til å skrive store deler av UNIXs kjenre og infrastuktur. Siden C var så vellykket, var det aldri noe etterspørsel etter eller nytte av å opprette programmeringsspråk kalt P eller L. [4] 5
6 2.3 C møter Smalltalk I 1980 tok to utviklere kalt Brad Cox og Tom Love, å utvidet programmeringsspråket C slik at det støttet de objektorienterte funksjonene Smalltalk inneholder. Denne sammensmeltningen av begge språkene resulterte i etableringen av Objective-C. Objective-C ble deretter vedtatt av Free Software Foundation og utgitt under GNU Public License (GPL).[4] 2.4 Objective-C Apple For å forstå hvordan et språk bsasert på to 40 år gamle programmeringsspråk, endte opp med å bli det nye foretrukne språket i Mac OS X og ios hos Apple. Må man se bort fra teknologien en stund og heller se på virksomheten. På 1980-tallet stiftet Steve Jobs og Stive Wozniak, Apple Computer. Etter mange års suksess, leide Steve Jobs inn John Sculley, en markedsførings rådgiver/veiviser fra PepsiCo. For å gjøre en lang historie kort, fulgte en kamp i styret og endte med at Steve Jobs ble kastet ut av selskapet. Og etterlot John Sculley ansvaret for Apple Computer. Etter å ha forlatt Apple, startet Jobs et nytt selskap kalt, NeXT hvor han designet en helt ny generasjon av datasystemer. Operativsystemet som ble opprettet av NeXT for å kjøre på disse maskinene, ble kalt NeXTStep. For å utvikle NeXTStep kjøpte NeXT rettighetene til Objective-C. Senere slo NeXT seg sammen med Sun Microsystems for å skape en standardisert versjon av NeXTStep, kalt OPENstep, som Free Software Foundation deretter fastsatte til GNUstep. På 1900-tallet forlot John Sculley Apple, og en rekke av nye administrerende direktører kom og gikk. Under denne tiden mistet Apple en del markedsandeler, og slet med å lansere et nytt operativsystem, som kunne erstatte en aldrende MacOS. Etter flere mislykkede forsøk og sammarbeidspartnere, ble det avgjort at istedenfor å skrive et nytt operativsystem, skulle Apple heller kjøpe det av et selskap som allerede hadde et klart. Under Gil Amelio korte tid som konsernsjef, sto valget mellom to selskaper. Det ene var et firma som heter Be inc. Grunnlagt av Jean-Louis en tidligere ansatt i Apple, og den andre var NeXT. Til slutt ble NeXT valgt og Steve Jobs var inne i Apple igjen. I en ny kamp i styret, ble Gil Amelio kastet ut og Steve Jobs satt igjen som konsernsjef for Apple, selskapet han selv engang grunnla. Dermed dannet NeXTStep grunnlaget for det som ble Mac OS X, og tar med seg Objective-C. Mac OS X ble senere modifisert til ios som er operativsystemet som er brukt for iphone. [4] 6
7 Objekt Et objekt knytter data som variabler av string, int og lignende, med spesielle operasjoner som kan brukes til å påvirke dataene. Objective-C gir en datatype for å identifisere et objekts variabel uten å spesifisere en bestemt klasse for objeket. 3.1 Grunnleggende om Objekter Et objekt knytter data med spesielle operasjoner som kan bruke eller påvirke dataene. I Objective-C, er disse operasjonene kjent som objektets metoder; dataene de påvirker er dens instansvariabler.i hovedsak er et objekt en samling av datastrukturer (instansvariabler) og en gruppe av prosedyrer(metoder) som er koblet sammen slik at de kan utføre en operasjon til ønsket enhet. Objektets instansvariabler er generelt interne til objektet, du får kun tilgang til objektet gjennom objektets metoder( Det er mulighet til å angi om subklasser eller andre objekter kan få tilgang til instansvariablene direkte, ved bruk av omfang direktiver). Hvis andre skal finne ut noe om et objekt, må det opprettes en metode som leverer informasjon om objektet. Et objekt kan bare utføre metodene som er laget for det objektet, det kan ikke ved en feil utføre metoder ment for andre type objekter. Dermed skjuler et objekt både instansvariablene og dens metode implementeringer. [? ] 3.2 Id Objektets identitetsfaktor er en bestemt datatype: id. Denne typen er en generell type for alle objekter uavhenging av klasser, og kan brukes til en instanse av en klasse og for klasse objektene. Objective-C inneholder alle de standard datatypene som string og int, men syntaxen er endret. NSString og NSInteger er Objective-C navn på datatypene. NS står for NeXTStep som var det orginale opperativsystemet som brukte objective-c. Begrepet nil er definert som et null objekt, en id med en verdi på 0. Dette begrepet er identisk med begrepet nul i andre programmeringsspråk. [? ] 3.3 Dynamisk programmering Datatypen id gir ingen informasjon om objektet av seg selv, bortsett fra at at det er et objekt. Når applikasjonen begynner å kjøre trenger den før eller senere å finne ut mer om objektene den inneholder. Siden id typen ikke er i 7
8 stand til å gi ut denne informasjonen til kompilatoren, må hvert objekt dele ut sin informasjon under kjøringen av applikasjonen. Datatypen isa identifiserer objektets klasse og hvilken type objekt det er. Objekter som utfører samme type operasjoner ( metoder ) og inneholder samme type data/informasjon (instans variabler), er plassert under samme klasse, og er dermed medlemmer av denne klassen. Objekter blir dynamisk skrevet under kjøring, slik at når det trengs, kan runtime systemet finne den eksakte klassen som et objekt tilhører. Dette bare ved å spørre objektet.[? ] 3.4 Polymorfisme Siden metoder tilhører et objekt, vil ikke meldinger/kommandoer oppfører seg på samme måte som i et funksjonskall. Et objekt kan kun bli drevet av de metodene som er definert for det objektet. Dermed kan de ikke forvirre andre metoder som er definert til andre type objekter, selv med samme metodenavn. Derfor kan to metoder reagere forskjellig på samme kommandoen. Denne funksjonen kalles polymorfisme, og spiller en betydelig rolle i utformingen av objekt-orienterte programmer. Sammen med dynamisk binding, tillater det deg å skrive kode som kan gjelde for en rekke forskjellige typer objekter, og ved at man slipper å velge hva slags objekt det er, mens man programmerer. [? ] 8
9 Klasser 4.1 Arv 9
10 Metoder 10
11 Minnehåndtering Når man programmerer i objective-c må man selv ta seg av minnehåndteringen. Hvis dette ikke blir håndtert vil minnelekasjen øke, og applikasjonen vil ikke fungere som planlagt. Objective-C støtter tre mekanismer for minne håndtering: automatic garbage collection og reference counting. * Automatic Reference Counting(ARC): Hvor kompilatoren vurderer objektenes levetid. ARC implementerer automatisk minnehåndtering for Objective-C objekter og blokker, slik at programmereren slipper å eksplisitt skrive inn retain og realise. Den gir ikke en syklus samler, dermed må brukeren selv administrere levetiden istedet. * Manual Reference Counting(MRC eller MRR manual retain/release ): Hvor brukeren har det ultimate ansvaret for å bestemme objektenes levetid.[1] * Garbage Collection: brukeren gir ansvaret for å avgjøre levetiden av objektet, til en automatisk samler collector. Minnehåndteringen til en applikasjon er prosessen hvor minnet blir tildelt(allocating), brukt, og frigjøre det, mens programmet kjører. Målet er å bruke minst mulig minne. I Objective-C kan det også se på som en måte å fordele eierskapet av begrenset minne ressurser, blant flere deler av data og kode. For å administrere applikasjonens minne må man ekplisitt håndtere livssyklusen til objektene og frigjøre dem når de ikke lenger er nødvendige. Man ønsker å sørge for at man ikke har flere objekter i mennet enn det man egentlig trenger.[2] 11
12 Runtime Objektive-C utfører så mange avgjørelser som det kan fra kompilering og link tid til kjøring(runtime). Når det er mulig utfører den dynamisk operasjoner som å opprette objekter og bestemme hvilken metode som må tilkalles. Derfor krever språket ikke bare en kompilator, men også en runtime sytem for å utføre kompilert kode. Runtime-systemet fungerer som en slags operativsystem for programmeringsspråket Objective-C. Det er dette systemet som får språket til å fungere.[3] 12
13 Eget Arbeid 8.1 ColorSwapper 8.2 Navigator app 8.3 Applikasjon 3 13
14 Konklusjon/Avsluttning 14
15 Bibliografi [1] Apple Inc. Introduction objective-c,. URL com/library/ios/#documentation/cocoa/conceptual/objectivec/ Introduction/introObjectiveC.html#//apple_ref/doc/uid/ TP [2] Apple Inc. Memory management,. URL com/library/ios/#documentation/cocoa/conceptual/memorymgmt/ Articles/MemoryMgmt.html#//apple_ref/doc/uid/ i. [3] Apple Inc. Learning objective-c: a primer,. URL apple.com/library/ios/#referencelibrary/gettingstarted/ Learning_Objective-C_A_Primer/_index.html#//apple_ref/doc/ uid/tp [4] Neil Smyth. The history of objective-c. URL com/index.php/the_history_of_objective-c. 15
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,
DetaljerObjective-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,
DetaljerTDT4102 Prosedyre og Objektorientert programmering Vår 2014
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 10 Frist: 2014-04-11 Mål for denne øvinga:
DetaljerProgrammeringsspråket C
Programmeringsspråket C Programmeringsspråket C Laget til implementasjon av Unix ved AT&Ts Bell labs i Palo Alto 1969 73. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI-standard
DetaljerKapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering
Kapittel 1 Datamaskiner og programmeringsspråk Dette kapitlet er en kort introduksjon til programmering. Vi vil se på hvordan man skriver, bygger og kjører programmer, samt illustrere noen sentrale programmeringsbegrep
DetaljerØving 0 - Xcode TDT4102
Øving 0 - Xcode TDT4102 Frivillig Øving Mål for denne øvingen: Bli kjent med programmeringsverktøy Lage et første program kun med teksteditor og kompilator Lage et første program med Xcode Denne øvingen
DetaljerKapittel 1: Datamaskiner og programmeringsspråk
Kapittel 1: Datamaskiner og programmeringsspråk Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen
Detaljer23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.
Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen
DetaljerTildeling av minne til prosesser
Tildeling av minne til prosesser Tildeling av minne til prosesser OS må hele tiden holde rede på hvilke deler av RAM som er ledig/opptatt Når (asynkrone) prosesser/run-time system krever tildeling av en
DetaljerOblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59
Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være
DetaljerOperativsystemer og grensesnitt
Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner
DetaljerTildeling av minne til prosesser
Tildeling av minne til prosesser Tildeling av minne til en prosess Når en ny prosess opprettes har den et krav til hvor mye minne som skal reserveres for prosessen Memory Management System (MMS) i OS må
DetaljerTDT4102 Prosedyreog objektorientert programmering Vår 2016
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 0 for Mac Frist: Ingen (frivillig øving)
DetaljerProgrammeringsspråket C
Programmeringsspråket C Programmeringsspråket C Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI-standard i 1988;
DetaljerProgrammeringsspråk for nybegynnere. Krav til språket. Krav til språket. Krav til språket
Programmeringsspråk for nybegynnere Krav til språket Hva om vi laget vårt eget språk til INF1000? Programmeringsspråket må være så enkelt som mulig. (Programmering er vanskelig nok som det er.) Hvilke
DetaljerTDT4102 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:
DetaljerOversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models
Oversikt UNIX 1 UNIX Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 2 Linux 3 Process 4 Process models 5 Hvordan kjøre operativsystemet 6 Prosesshåndtering i UNIX SVR4 Lars Vidar
DetaljerKlasser. Webprogrammering høsten 2015. Objekter. Eksempelklasser og -objekter. 2 of 11 14.10.2015 07:56. 1 of 11 14.10.2015 07:56
[Kurssidene] [ ABI - fagsider bibin ] Objekter Webprogrammering høsten 2015 Et objekt er en "ting" som representeres i et program. Representasjonen tar for seg attributter og oppførsel Attributter (egenskaper)
DetaljerOversikt. 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
DetaljerForord. Brukerveiledning
Forord Dette dokumentet er ment for brukere og administratorer som vil overvåke ressursene som brukes av JVM. Det gir en rask og generisk introduksjon til installasjonen av de forskjellige verktøyene som
DetaljerHei 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
DetaljerEksekveringsrekkefø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
DetaljerKompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering
Dagens tema Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Statiske metoder og variabler Hvordan oppdage feil? Kildekode Hva er kompilering? Anta at
Detaljer2 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.
DetaljerInnhold 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
DetaljerProgrammeringsspråket C
Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger
DetaljerObjekter og referanser
Objekter og referanser Datasegmentet heap Vi har sett at verdier i Java blir kopiert ved prosedyrekall. I programmering, ønsker man imidlertid ikke å kopiere objekter ved prosedyrekall. Dette er fordi
DetaljerOperativsystemer: Litt IT- og Linux-historie
Operativsystemer: Litt IT- og Linux-historie Mark I fra 1944 var en en av de første fungerende elektroniske datamaskinene. Den ble brukt til å beregne banene til artillerigranater. Begrepene "bug" og debugging
Detaljer<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen.
Hver gang funksjonen printhallo kalles utføres instruksjonene spesifisert i den. [Kurssidene] [ ABI - fagsider bibin ] Webprogrammering høsten 2015 //funksjonskall printhallo(); //enda en gang printhallo();
DetaljerProgrammering 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
DetaljerIN 147 Program og maskinvare
Dagens tema Mer om C Cs preprosessor Allokering av variable Separat kompilering Programmet make Pekere i C Operasjoner på pekere Pekere og vektorer Referanseparametre Pekere til «alt» og «ingenting» Dynamisk
DetaljerOperativsystemer: Litt IT-historie
Operativsystemer: Litt IT-historie Mark I fra 1944 var en en av de første fungerende elektroniske datamaskinene. Den ble brukt til å beregne banene til artillerigranater. Begrepene "bug" og debugging om
DetaljerAnitool åpner opp for en hel verden av kreative muligheter på nett. Uten koding eller tunge programmer. Dette er enkelt, webbasert og rimelig!
1 av 7 05.01.2016 21:50 medier24.com Gard L. Michalsen Anitool åpner opp for en hel verden av kreative muligheter på nett. Uten koding eller tunge programmer. Dette er enkelt, webbasert og rimelig! Tom
Detaljerprogrameksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet "TGA"
Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte En større problemstilling I uke 4 skrev vi et program for å sjekke om et gen (en tekstfil) inneholdt ordet "TGA"
DetaljerQt 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
DetaljerAlgoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1
Delkapittel 3.1 Grensesnittet Liste Side 1 av 11 Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 3.1 En beholder 3.1.1 En beholder En pappeske er en beholder En beholder er noe vi kan legge ting
Detaljernotater 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
DetaljerBOKMÅL Side 1 av 5. KONTERINGSEKSAMEN I FAG TDT4102 Prosedyre og objektorientert programmering. Onsdag 6. august 2008 Kl. 09.00 13.
BOKMÅL Side 1 av 5 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap KONTERINGSEKSAMEN
DetaljerGeneriske mekanismer i statisk typede programmeringsspråk
Generiske mekanismer i statisk typede programmeringsspråk Dette stoffet er Pensum, og det er bare beskrevet her Mye her er nok kjent stoff for mange INF5110 7. mai 2013 Stein Krogdahl 1 Hvordan kunne skrive
DetaljerFlere design mønstre. 19. september 2002, Tore Berg Hansen, TISIP
Flere design mønstre 19. september 2002, Tore Berg Hansen, TISIP Kursleksjonene er forfatters eiendom. Som kursdeltaker kan du fritt bruke leksjonene til eget personlig bruk. Kursdeltakere som ønsker å
DetaljerObligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006
Obligatorisk oppgave nr. 3 (av 4) i INF1000, våren 2006 Advarsel Etter forelesningen 6. mars har vi gjennomgått alt stoffet som trengs for å løse oppgaven. Du kan imidlertid godt starte arbeidet allerede
DetaljerMangelen på Internett adresser.
1. Av 2 Introduksjon og forord Internett er som kjent bygd opp i adresser, akkurat som husstander, byer og land, dette er fordi Internett er bygd opp mye likt post systemet, du kan sammenligne en maskin
DetaljerGenerelt om operativsystemer
Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og
DetaljerAnbefalt litteratur: Pensum-bøker: Forelesere: Velkommen til INF Introduksjon til operativsystemer og datakommunikasjon
Forelesere: Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon Pål Halvorsen (paalh@ifi.uio.no) Nettverk og Distribuerte systemer (ND) (ved Simula) Kjell Åge Bringsrud (kjellb@ifi.uio.no)
DetaljerKom i gang med programmering i Java
Kom i gang med programmering i Java Dette dokumentet forteller hvordan du skal komme i gang med programmering inkludert nedlasting av den programvare du trenger samt oppsett av disse samt en del innstillinger
Detaljervet vi hvilke fartsgrenser som gjelder der vi er???
1 2 vet vi hvilke fartsgrenser som gjelder der vi er??? 3 Kan vel egentlig svare Hvorfor ikke? Begrunnelsen er hentet fra den sentrale fartsforskiften som gjelde rhele landet. Denne forskriften hjemler
DetaljerTDT4102 Prosedyreog objektorientert programmering Vår 2016
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 5 Frist: 2016-02-19 Mål for denne øvingen:
DetaljerLæringsmål uke 7. Objektorientert programmering i Python: Introduksjon. Innhold uke 7. Lite tilbakeblikk: Programflyt og skop
Læringsmål uke 7 Objektorientert programmering i Python: Introduksjon IN1000 Høst 2018 uke 7 Siri Moe Jensen Kjenne til motivasjon og bakgrunn for objektorientert programmering Kunne definere en klasse,
DetaljerTDT4102 Prosedyreog objektorientert programmering Vår 2016
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 2 Frist: 2016-01-29 Mål for denne øvingen:
DetaljerINF1010 Arv. Marit Nybakken marnybak@ifi.uio.no 2. februar 2004
INF1010 Arv Marit Nybakken marnybak@ifi.uio.no 2. februar 2004 Motivasjon Arv bruker vi så vi skal slippe å skrive oss i hjel. Når vi programmerer, prøver vi gjerne å modellere en del av verden ved hjelp
DetaljerIntroduksjon til dataanlegget ved Institutt for informatikk. Marc Bezem Institutt for informatikk Universitetet i Bergen
Introduksjon til dataanlegget ved Institutt for informatikk Marc Bezem Institutt for informatikk Universitetet i Bergen August 2005 1 Introduksjonskurset Målgrupper: Alle studenter som skal ta INF100 Andre
DetaljerTDT4102 Prosedyre og Objektorientert programmering Vår 2014
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 1 Frist: 2014-01-24 Mål for denne øvinga:
DetaljerDiverse eksamensgaver
Diverse eksamensgaver Noen har fått den idé å lage et språk hvor klasser kan ha noe tilsvarende byvalue-result -parametere. Klasser har ingen konstruktører, og by-value-result parametere spesifiseres som
DetaljerOperativsystemer: Litt IT- og Linux-historie
Operativsystemer: Litt IT- og Linux-historie Radiorørmaskiner uten OS Det var ingen OS på de tidlige maskinene på 40- og 50-tallet Maskinene ble satt opp manuelt med kode og data før hver kjøring, av
DetaljerINF våren 2017
INF1010 - våren 2017 Om Java Objekter og klasser Både for deg som kan og for deg som ikke kan Java Stein Gjessing Universitetet i Oslo Ny versjon etter forlesningen der tre meningsløse private modifikatorer
DetaljerIN våren 2019 Onsdag 16. januar
IN1010 - våren 2019 Onsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel
DetaljerIN våren 2018 Tirsdag 16. januar
IN1010 - våren 2018 Tirsdag 16. januar Java Objekter og klasser Stein Gjessing Universitetet i Oslo 1 1 IN1010: Objektorientert programmering Hva er et objekt? Hva er en klasse? Aller enkleste eksempel
DetaljerSlik bruker du P-touch Transfer Manager
Slik bruker du P-touch Transfer Manager Versjon 0 NOR Innledning Viktig merknad Innholdet i dette dokumentet og spesifikasjonene for dette produktet kan endres uten forvarsel. Brother forbeholder seg retten
DetaljerVelkommen til INF Introduksjon til operativsystemer og datakommunikasjon
Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon 21.08.2007 INF1060 1 Forelesere: Pål Halvorsen (paalh@ifi.uio.no) Nettverk og Distribuerte systemer (ND) (ved Simula) Kjell
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 9. juni 2011 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:
DetaljerVelkommen til INF Introduksjon til operativsystemer og datakommunikasjon
Velkommen til INF-1060 Introduksjon til operativsystemer og datakommunikasjon 22.08.12 INF1060 1 Forelesere: Pål Halvorsen (paalh@ifi.uio.no) Nettverk og Distribuerte systemer (ND) (ved Simula) Tor Skeie
DetaljerUtførelse av programmer, funksjoner og synlighet av variabler (Matl.)
Utførelse av programmer, funksjoner og synlighet av variabler (Matl.) Av Jo Skjermo (basert på Alf Inge Wang sin versjon om JSP). 1. Utførelse av kode i kommando/kalkulatormodus Et dataprogram består oftest
DetaljerIntroduksjon til objektorientert programmering
Introduksjon til objektorientert programmering Samt litt mer om strenger og variable INF1000, uke6 Ragnhild Kobro Runde Grunnkurs i objektorientert programmering Strategi: Splitt og hersk Metoder kan brukes
DetaljerKapittel 1: Datamaskiner og programmeringsspråk
Kapittel 1: Datamaskiner og programmeringsspråk Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen
DetaljerSystemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre
Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Lære å lage større og sammensatte programmer Pensum Pythonboka kap. 1-9, 12 Teorikapitlet
DetaljerForprosjekt. Accenture Rune Waage, rune.waage@accenture.com, 91605634
Forprosjekt Presentasjon Gruppe 19: Event-planlegger Andreas Berglihn s169991 Harald R. Svendsen s127142 Gruppe Gruppe 19 Andreas Berglihn, s169991 Harald R. Svendsen s127142 Oppgave Eventplanlegger Utvikle
DetaljerKom i gang med Python
Kom i gang med Python Instruksjon for lærere Pål Hellesnes SYSTEMUTVIKLER paal@firstpoint.no www.bedreinnsikt.no Dette dokumentet er en del av skolematerialet for undervisning i programmering. «Alle barn
DetaljerRedd verden. Steg 1: Legg til Ronny og søppelet. Sjekkliste. Introduksjon
Redd verden Nybegynner Scratch Introduksjon Kildesortering er viktig for å begrense hvor mye avfallet vårt påvirker miljøet. I dette spillet skal vi kildesortere og samtidig lære en hel del om meldinger
DetaljerDagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?
Dagens tema: 12 gode råd for en kompilatorskriver Hva skal gjøres med navn? Sjekking av navn Hvordan sjekke navn? Testutskrifter 12 gode råd En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme
DetaljerI 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
DetaljerADDISJON FRA A TIL Å
ADDISJON FRA A TIL Å VEILEDER FOR FORELDRE MED BARN I 5. 7. KLASSE EMNER Side 1 Innledning til addisjon 2 2 Grunnleggende om addisjon 3 3 Ulike tenkemåter 4 4 Hjelpemidler i addisjoner 9 4.1 Bruk av tegninger
DetaljerGrafiske brukergrensesnitt med Swing og AWT
Grafiske brukergrensesnitt med Swing og AWT - 1 av 11 INNHOLD INTRODUKSJON 3 VINDUER, RAMMER OG PANELER. 4 KOMPONENTER OG VINDUSELEMENTER 6 KNAPPER OG KNAPPELYTTERE.. 8 LAYOUT.. 10 APPENDIX. 11 2 av 11
DetaljerINF 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
DetaljerKapittel 21: Minne og variabler
Kapittel 21: Minne og variabler 21 Introduksjon til minne og variabler... 334 Kontrollere og tilbakestille minnet... 337 Vise VAR-LINK-skjermbildet... 338 Manipulere variabler og mapper med VAR-LINK...
DetaljerDel 4 Noen spesielle C-elementer
Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include
DetaljerDette er nytt i GM EPC
Dette er nytt i GM EPC GMs neste versjon av EPC har utallige nye funksjoner for å gjøre det raskere og enklere å finne den riktige delen. Velg Brukerhåndbok på Hjelp-menyen i EPC for å få nærmere instruksjoner
DetaljerHusk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.
Skilpaddeskolen Steg 1: Flere firkanter Nybegynner Python Åpne IDLE-editoren, og åpne en ny fil ved å trykke File > New File, og la oss begynne. Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell'
DetaljerKomme i gang med Skoleportalen
Generell brukerveiledning for Elevportalen Denne elevportalen er best egnet i nettleseren Internett Explorer. Dersom du opplever kompatibilitets-problemer kan det skyldes at du bruker en annen nettleser.
DetaljerShellscripting I. Innhold
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Shellscripting I Tor Halsan 19.08.2010 Lærestoffet er utviklet for faget LN199D Scripting av Servere Resymé: Leksjonen er første innføring
DetaljerTI -programvare for grafiske enheter og informasjon om lokalisering
TI -programvare for grafiske enheter og informasjon om lokalisering TI-programvare for grafiske enheter Installasjonsanvisninger for TI-programvare for grafiske enheter Lokaliseringsanvisninger TI-83 Plus
DetaljerTDT4105 Informasjonsteknologi, grunnkurs (ITGK)
1 TDT4105 Informasjonsteknologi, grunnkurs (ITGK) Introduksjon til programmering i Matlab Rune Sætre satre@idi.ntnu.no 2 Læringsmål og pensum Mål Lære om programmering og hva et program er Lære å designe
DetaljerEndringer i Flash CS6 Professional. Innhold. Endringer i forhold til boka. Oppdatering til boka: Multimedieutvikling i Flash CS5 Professional
Oppdatering til boka: Multimedieutvikling i Flash CS5 Professional Endringer i Flash CS6 Professional I denne oppdateringen går vi gjennom boka Multimedieutvikling i Flash CS5 Professional og beskriver
DetaljerJavas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)
Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode) Disse foilene er pensum INF 5110, 30/4-2013, Stein Krogdahl Byte-koden for Java og.nett (C#) kan leses her: http://en.wikipedia.org/wiki/java_bytecode_instruction_listings
DetaljerDu har sikkert allerede startet noen programmer ved å trykke på kontrollknappen. VINDUER = WINDOWS
Operativsystemet Kort historie Utviklingen av datamaskiner og dataprogrammer går fort. Den som har sitt første møte med dataverdenen i dette kurset, vil kanskje allikevel ha hørt om DOS (Disk Operating
DetaljerHiOA TDK. Ingeniørfag data. DATS1600 Programutvikling. Eva Hadler Vihovde. Prosjektoppgaven 2015. - Prosessdokumentasjon - Alternativ 1
HiOA TDK Ingeniørfag data DATS1600 Programutvikling Eva Hadler Vihovde Prosjektoppgaven 2015 - Prosessdokumentasjon - Alternativ 1 - Forsikring - Gruppe #14 Studentnavn Marius Alexander Skjolden Hans Christian
DetaljerDebugging. Tore Berg Hansen, TISIP
Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...
DetaljerTOD063 Datastrukturer og algoritmer
TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage
DetaljerHei 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
DetaljerGuide for tilkobling til HIKT s Citrix løsning
Guide for tilkobling til HIKT s Citrix løsning Innhold Guide for tilkobling til HIKT s Citrix løsning... 1 Sjekk om Citrix er installert... 1 Tilgang til applikasjon fra kontoret... 2 Tilgang til applikasjon
DetaljerTDT4102 Prosedyre og Objektorientert programmering Vår 2014
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 1 Frist: DD.MM.YYYY Mål for denne øvinga:
DetaljerUNIVERSITETET 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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 6. juni 2013 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:
DetaljerINF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004
INF1000 Metoder Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 Motivasjon Når man begynner å skrive store programmer, vil man fort oppleve at programmene blir uoversiktlige. Det blir vanskeligere
DetaljerKapittel 1: Datamaskiner og programmeringsspråk. Java som første programmeringsspråk
Kapittel 1: Datamaskiner og programmeringsspråk Forelesningsnotater for: Java som første programmeringsspråk Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen Cappelen Akademisk Forlag, 2003. ISBN 82-02-23274-0
DetaljerLæringsmål for forelesningen
Læringsmål for forelesningen Objektorientering Håndtering av unntak (eng: exceptions) Java-programmering Håndtering av unntak Exception-objekter og klasser try, catch og finally throw og throws Eclipse
DetaljerEKSAMEN. Objektorientert programmering
EKSAMEN Emnekode: ITF 10609 Dato: 13.mai 2009 Emne: Objektorientert programmering Eksamenstid: kl 09.00 til kl 12.00 Hjelpemidler: 2 A4-ark med valgfritt innhold på begge sider. Faglærere: Tom Heine Nätt
DetaljerIN 147 Program og maskinvare. Velkommen til IN 147. Program- og maskinvare
Velkommen til IN 147 Program- og maskinvare Dagens tema: Presentasjon av kurset Litt om programmeringsspråket C Registrering av oppmøte Ark 1 av 22 Forelesning 22.1.2001 Foreleserne Sigbjørn Næss Digitaltekniker
DetaljerTDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.
1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 11. Sept. Noen oppstartsproblemer
DetaljerUNIVERSITETET 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:
DetaljerNOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse
NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 8/5-2012, Stein Krogdahl Byte-koden for Java og.nett (C#) http://en.wikipedia.org/wiki/java_bytecode_instruction_listings
Detaljer