Vägledning till BlueJ

Storlek: px
Starta visningen från sidan:

Download "Vägledning till BlueJ"

Transkript

1 Vägledning till BlueJ Version 1.2 för BlueJ Version 1.x.x Michael Kölling School of Network Computing Monash University Översatt från engelska av Set Lonnert

2 1 Fšrord Om BlueJ RŠckvidd och lšsare Copyright, licensering och distribution terkoppling Att sštta igœng Installation Att starta BlueJ ppna ett projekt Grunderna Ð redigera / kompilera / exekvera Skapa objekt Exekvering Redigera en klass Kompilering HjŠlp med kompileringsfel Att gšra lite mer Inspektion Komposition Skapa nytt projekt Skapa ett bibliotek fšr projektet Skapa klasser Skapa beroenden Ta bort element Avlusning SŠtta brytpunkter Stega igenom kod Inspektera variabler Stanna och avsluta Att skapa fristœende tillšmpningar 25 8 Skapa appletprogram 26 2

3 InnehŒllsfšrteckning 8.1 Kšra en applet Att skapa en applet Testa appletprogram Andra operationer ppna icke-bluej paket i BlueJ LŠgga till existerande klasser till ditt projekt Anropa main och andra statiska metoder Arbeta med bibliotek Endast summeringar 30 3

4 1 Förord 1.1 Om BlueJ Denna všgledning Šr en introduktion fšr att anvšnda programmeringsmiljšn BlueJ. BlueJ Šr en utvecklingsmiljš fšr Javaª speciellt designad fšr undervisning pœ en introducerande nivœ. Den Šr utvecklad och implementerad av teamet fšr BlueJ vid Monash University, Melbourne, Australien. Mer information om BlueJ finns pœ Räckvidd och läsare Denna všgledning Šr avsedd fšr de som vill bekanta sig med mšjligheterna hos miljšn. Den fšrklarar inte designbeslut eller de forskningsfrœgor som finns bakom miljšn. Det fšrutsštts att lšsaren Šr bekant med programmeringssprœket Java Ð inget fšrsšk gšrs att ge en introduktion till Java i denna všgledning. Detta Šr ingen fullstšndig referensmanual till miljšn. MŒnga detaljer har utelšmnats Ð betoningen ligger pœ en kort och koncis introduktion, snarare Šn en komplett fšrteckning av funktioner. De flesta avsnitt slutar med en summerande slutsats fšr avsnittet. Avsnitt 10 repeterar alla summeringar som snabbreferens. 1.3 Copyright, licensering och distribution Systemet BlueJ och denna všgledning Šr fritt tillgšngliga utan kostnad fšr vilken som helst anvšndning. Systemet och dess dokumentation kan distribueras fritt. Ingen del av systemet BlueJ eller dess dokumentation fœr sšljas fšr vinstintressen eller inkluderas i paket som sšljs fšr vinst, utan skriftligt godkšnnande frœn fšrfattarna. Copyright fšr BlueJ innehas av M. Kšlling och J. Rosenberg. 4

5 Fšrord 1.4 Återkoppling Kommentarer, frœgor, korrigeringar, kritik och annan typ av Œterkoppling gšllande systemet BlueJ eller denna všgledning Šr varmt všlkomna och uppmuntras aktivt. VŠnligen skicka epost till Michael Kšlling 5

6 2 Att sätta igång 2.1 Installation BlueJ distribueras som ett arkiv av Javaklasser i ÒjarÓ format. Installering Šr ganska lštt. FšrutsŠttningar Du mœste ha JDK eller senare installerat pœ ditt system fšr att anvšnda BlueJ. Vissa delar fungerar bšttre med JDK 1.3, sœ det Šr všrt att hšmta eller uppdatera till senaste utgœvan av JDK. Om du inte har JDK installerat kan du ladda ner det ifrœn Suns webbplats Att hšmta BlueJ BlueJ distribueras som fil kallad bluej-xxx.jar, dšr xxx Šr versionsnummer. Till exempel har BlueJ version distributionsnamnet bluej-111.jar. Du kan fœ denna fil via diskett eller ladda ner det frœn webbplatsen fšr BlueJ Om SDK, JDK och JRE Ibland finns fšrvirring šver olika distributioner av Java: SDK, JDK och JRE paketen. Du bšr installera senaste versionen av Java 2 SDK (Software Development Kit). Termen JDK (Java Development Kit) Šr ett Šldre namn fšr samma sak. Sun har Šndrat namnkonventionen vid ett tillfšlle, men ibland anvšnds fortfarande det Šldre namnet (JDK). Till exempel, nšr du installerar Java 2 SDK v. 1.3, sœ kommer standardinstallationen att medfšra biblioteksnamnet jdk1.3. JRE (Java Runtime Enviroment) Šr annorlunda: Det Šr en delmšngd av SDK fšr kšrning av Java. Fšr BlueJ ršcker inte detta. Vi behšver SDK dšrfšr att det inkluderar nœgra utvecklingsverktyg som BlueJ behšver. JRE installeras automatiskt som del av installationen av SDK. Installation Windows: Dubbelklicka pœ installationsfilen (bluej-xxx.jar). Om ditt system inte Šr konfigurerat fšr exekverbara jar-filer, kanske inte dubbelklickandet fungerar. Om det Šr sœ, šppna en fšnster MS-DOS Prompt och fšlj instruktionerna fšr Unix. Unix: 6

7 Att sštta igœng Kšr installeraren genom att exekvera fšljande kommando. OBS: Fšr detta exempel anvšnder jag distributionen i filen bluej-111.jar Ð du behšver anvšnda namnet pœ den fil du har (med det rštta versionsnumret). <jdk-sökväg>/bin/java -jar bluej-111.jar <jdk-sškvšg> Šr den katalog dšr JDK har installerats. Ett fšnster kommer att dyka upp som lœter dig všlja katalogen dšr BlueJ installeras och den version av JDK som kommer att kšras ihop med BlueJ. Viktigt: SškvŠgen till BlueJ (dvs. vilken som helst av fšršldrakatalogerna) fœr inte innehœlla mellanslag (t.ex. "Program Files")! Klicka pœ Install. Efter avslutning kommer BlueJ vara installerat. Om du har problem, se den FAQ som finns pœ webbstšllet fšr BlueJ. 2.2 Att starta BlueJ Installationen av BlueJ installerar ett skript bluej i installationsbiblioteket. FrŒn en GUI-miljš kan du bara dubbelklicka filen. FrŒn kommandoraden (t.ex. Unix eller DOS), kan du starta BlueJ med eller utan ett projekt som argument: $ bluej eller $ bluej examples/people 2.3 Öppna ett projekt Projekten i BlueJ Šr liksom standardpaketen i Java, bibliotek som innehœller filerna i projektet. Om du startar BlueJ frœn kommandoraden och ger ett projekt som argument, kommer det att šppnas automatiskt. Om du startar BlueJ utan argument, anvšnder du Paket Ð ppna... i menyn fšr att všlja och šppna projektet. 7

8 3 Grunderna redigera / kompilera / exekvera Fšr detta handboksavsnitt, šppnar du projektet people som Šr inkluderat i distributionen av BlueJ. Du kan hitta det i biblioteket examples i hembiblioteket fšr BlueJ. Efter šppnandet av paketet bšr du se nœgot liknande det fšnster du ser i Figur 1. Fšnstret behšver inte se exakt likadant ut som pœ ditt system, men skillnaderna bšr vara smœ. Figur 1: Huvudfšnstret i BlueJ 3.1 Skapa objekt En av de fundamentala egenskaperna fšr BlueJ Šr att du inte bara kan kšra hela tillšmpningar, men ocksœ direkt interagera med enskilda objekt frœn vilken som helst klass och kšra deras publika metoder. En exekvering i BlueJ gšrs vanligtvis genom att skapa ett objekt och sedan anropa en av objektets metoder. Detta Šr mycket anvšndbart under utveckling av en tillšmpning Ð du kan testa klasserna individuellt omedelbart efter de har skrivits. Hela tillšmpningen behšver inte skrivas fšrst. 8

9 Grunderna Ð redigera / kompilera / exekvera Not: Statiska metoder kan exekveras direkt utan att skapa objektet fšrst. En av de statiska metoderna kan vara ÒmainÓ, sœ vi kan gšra samma sak som hšnder i vanliga JavatillŠmpningar Ð starta en tillšmpning bara genom att exekvera en statisk main-metod. Vi kommer att Œterkomma till detta senare. Men vi kommer att gšra en del intressantare saker fšrst, som inte vanligtvis kan gšras i Javamiljšer. Rutorna som du ser i mitten av huvudfšnstret (kallad Database, Person, Staff och Student) Šr ikoner representerande klasser i denna tillšmpning. Du kan fœ en meny med operationer tillšmpbara pœ klassen genom att hšgerklicka pœ klassikonen (Figur 2). Operationerna som visas Šr new operationer fšr varje konstruktor definierad fšr denna klass (fšrst) fšljt av nœgra operationer givna av omgivningen. Figur 2: Klassoperationer (popupmeny) Vi vill skapa ett objekt frœn Staff (anstšlld), sœ du bšr hšgerklicka pœ ikonen Staff (sœ poppar menyn upp som visas i Figur 2). Menyn visar tvœ konstruktorer fšr att skapa ett objekt av Staff, en med parametrar och en utan. VŠlj fšrst konstruktorn utan parametrar. Dialogen i Figur 3 visas. Figur 3: Skapandet av objekt utan parametrar 9

10 Grunderna Ð redigera / kompilera / exekvera Dialogen frœgar efter ett namn fšr det objekt som skall skapas. Samtidigt fšreslœs ett namn (staff_1). Det ršcker gott med standardnamnet fšr tillfšllet, sœ klicka bara OK. Ett objekt frœn Staff kommer att skapas. Sedan objektet har skapats placeras det pœ objektbšnken (Figur 4). Detta Šr allt som behšvs fšr objektskapande: všlj en konstruktor frœn klassmenyn, exekvera den och du har ett objekt placerat pœ objektbšnken. Figur 4: Ett objekt pœ objektbšnken Du har kanske lagt mšrke till att klassen Person Šr etiketterat <<abstract>> (det Šr en abstrakt klass). Du kommer att mšrka (om du pršvar) att du inte kan skapa objekt frœn abstrakta klasser (som specifikationen fšr Java definierar). Summering: Fšr att skapa ett objekt, všlj en konstruktor frœn klassens popupmeny. 3.2 Exekvering NŠr du nu har skapat ett objekt, kan du exekvera dess publika operationer. Hšgerklicka pœ objektet och en meny med objektoperationer kommer att poppa upp (Figure 5). Menyn visar tillgšngliga metoder fšr detta objekt och tvœ speciella operationer givna av omgivningen (Inspektera och Ta bort). Vi kommer att diskutera dessa senare. LŒt oss fšrst koncentrera oss pœ metoder. Figure 5: Objektmenyn Du ser att det finns metoderna getroom och setroom vilka sštter och returnerar rummets nummer fšr de anstšllda (staff). Fšrsšk anropa getroom. VŠlj det frœn objektmenyn sœ kommer det exekveras. En dialog uppenbaras som visar dig resultatet av anropet (Figur 6). I detta fall sšger namnet Ò(unknown room)ó, okšnt rum, dšrfšr att vi aldrig specificerade rummet fšr denna person. 10

11 Grunderna Ð redigera / kompilera / exekvera Figur 6: Visande av funktionens resultat Metoder som Šrvs frœn en superklass Šr tillgšngliga genom en undermeny. Vid toppen av objektets popupmeny finns tvœ undermenyer, en fšr metoder som Šrvs frœn Object och en frœn Person (Figur 6). Du kan anropa metoderna i Person (som getname) genom att všlja dom frœn undermenyn. Fšrsšk. Du kommer att se att svaret Šr lika vagt: det sšger Ò(unknown name)ó, okšnt namn, dšrfšr att vi har inte angivit vœr persons namn. Fšrsšk nu att specificera ett namn pœ ett rum. Detta kommer att visa hur anrop med parametrar sker. (Anropen till getroom och getname hade returvšrden, men inga parametrar.) Anropa funktionen setroom genom att všlja den frœn menyn. En dialog framtršder och ber dig skriva in parametrarna (Figur 7). Figur 7: Dialog fšr funktionsanrop med parametrar LŠngst upp i dialogen visas gršnssnittet fšr en metod som anropas (inklusive kommentarer och signatur). Nedanfšr finns textinmatningsfšlt dšr du kan skriva in parametrar. Signaturen šverst talar om fšr oss att en parameter av typen String všntas. Skriv in det nya namnet pœ en stršng (inklusive citattecken) i textfšltet och klicka pœ OK. Det Šr allt Ð eftersom denna metod inte returnerar en parameter, sœ finns ingen resultatdialog. Anropa getname igen fšr att kontrollera att namnet verkligen har Šndrats. Lek med att skapa objekt och anropa metoder ett slag. Fšrsšk skapa en konstruktor med argument och anropa flera metoder tills du kšnner dig bekant med dessa operationer. Summering: Fšr att exekvera en metod, všlj den frœn popupmenyn fšr objekt. 11

12 Grunderna Ð redigera / kompilera / exekvera 3.3 Redigera en klass n sœ lšnge har vi endast sett pœ objektens gršnssnitt. Nu Šr det tid att se inuti. Du kan se implementationen av en klass genom att všlja Editera Implementationen frœn klassoperationerna. (Kom ihœg: hšgerklickande pœ klassikonen visar klassoperationerna.) Dubbelklickande pœ en klassikon Šr en genvšg fšr samma funktion. Editorn beskrivs inte i detalj i denna všgledning, men bšr vara enkel att anvšnda. Detaljer om editorn kommer att beskrivas separat senare. Fšr tillfšllet, šppna implementationen av klassen Staff. Sšk efter implementationen av metoden getroom. Om den returnerar, som namnet antyder, Šr det rumsnumret fšr den anstšllde (staff). LŒt oss byta metoden genom att lšgga till prefixet ÒroomÓ, rum, till funktionen resultat (sœ att metoden returnerar, lœt sšga Òroom C.5.10Ó istšllet fšr bara ÒC.5.10Ó). Vi kan gšra det genom att Šndra raden return room; till return "room " + room; BlueJ stšder den fullstšndiga omodifierade Java, sœ det Šr ingenting speciellt med hur du implementerar dina klasser. Summering: Fšr att redigera kšllkoden till en klass, dubbelklicka dess klassikon. 3.4 Kompilering Efter att du satt in text (innan du gšr nœgot annat), kontrollera projektšversikten (huvudfšnstret). Du kommer att se att klassikonen fšr Staff har fšršndrats: det Šr nu streckat. Dess streckade utseende markerar att klassen inte har kompilerats sedan den Šndrades sist. Tillbaka till editorn. Not: Du kanske undrar varfšr klassens ikon var streckad nšr du fšrst šppnad projektet. Det beror pœ att klasserna i projektet people redan var kompilerade i distributionen. Ofta Šr paketen med BlueJ inte kompilerade, sœ du kan všnta dig att se de flesta klassikoner med streck nšr du šppnar projekt frœn och med nu. I knappraden hšgst upp pœ editorn finns nœgra funktioner som anvšnds speciellt mycket. En av dessa Šr Kompilera. Denna funktion lœter dig kompilera en klass direkt inifrœn editorn. Klicka nu pœ Kompilera. Har du inte har gjort nœgra misstag, kommer ett meddelande visa sig i informationsrutan lšngst ned pœ editorn som talar om att klassen har kompilerats. Om du har gjort misstag som lett till syntaxfel, kommer raden att markeras och ett felmeddelande visas i informationsutrymmet. (Om din kompilering fungerade fšrsta gœngen, fšrsšk dœ att lšgga in ett syntaxfel Ð som ett uteblivet semikolon Ð och kompilera igen, bara fšr att se vad som hšnder.) StŠng editorn efter att du lyckats kompilera klassen. 12

13 Grunderna Ð redigera / kompilera / exekvera Not: KŠllkoden behšver inte sparas explicit. KŠllkoden sparas automatiskt nšrhelst det Šr lšmpligt (t.ex. nšr editorn stšngs eller fšre det en klass kompileras). Du kan explicit spara om du vill (det finns en funktion i editorns meny Klass), men det behšvs endast om ditt system Šr instabilt, kraschar regelbundet och du Šr ršdd att fšrlora ditt arbete. Verktygsraden fšr projektfšnstret har ocksœ en knapp Kompilera. Denna kompileringsoperation kompilerar hela projektet. (I sjšlva verket bestšmmer den vilka klasser som behšver omkompileras och omkompilerar dessa i rštt ordning.) Prova detta genom att Šndra tvœ eller flera klasser (sœ att tvœ eller flera klasser fœr streck i klassdiagrammet) och klicka sedan knappen Kompilera. Om ett fel upptšcks i en av de kompilerade klasserna, kommer editorn att šppnas och det stšlle dšr felet finns visas samt felmeddelande. Kanske har du upptšckt att objektbšnken Šr tom igen. Objekt tas bort varje gœng implementationen fšršndas. Summering: Fšr att kompilera en klass, klicka pœ knappen Kompilera i editorn. Fšr att kompilera ett paket, klicka pœ knappen Kompilera i paketfšnstret. 3.5 Hjälp med kompileringsfel Mycket ofta har nybšrjare svœrt att fšrstœ felmeddelanden frœn kompilatorn. Vi skall fšrsška ge lite hjšlp. ppna editorn igen, sštt in ett fel i kšllkoden och kompilera. Ett felmeddelande bšr visa sig i editorns informationsutrymme. Till hšger om informationsutrymmet visas ett frœgetecken som du kan klicka pœ fšr att fœ mer information om den hšr typen av fel (Figur 8). Figur 8: Ett kompileringsfel och knappen fšr HjŠlp Vid detta tillfšlle finns inte hjšlptexter tillgšngliga fšr alla fel. NŒgra hjšlptexter mœste skrivas. Men det kan vara všrt att fšrsška Ð mœnga fel finns redan fšrklarade. De ŒterstŒende kommer att skrivas och inkluderas i framtida utgœvor av BlueJ. Summering: Fšr att fœ hjšlp med ett felmeddelande frœn kompilering, klicka pœ frœgetecknet intill felmeddelandet. 13

14 4 Att göra lite mer... I detta kapitel kommer vi att gœ igenom nœgra saker du kan gšra i miljšn. Saker som inte Šr essentiella men mycket vanliga. 4.1 Inspektion NŠr du exekverar metoder hos ett objekt, kan du upptšckt operationen Inspektera som finns tillgšnglig fšr objekt jšmte de anvšndardefinierade metoderna (Figure 5). Denna operation tillœter kontroll av tillstœndet hos instansvariabler (ÒfŠltÓ) hos objekt. Fšrsšk skapa ett objekt med nœgra anvšndardefinierade variabler (exempelvis ett objekt Staff med konstruktorn som tar parametrar). VŠlj sedan Inspektera frœn objektmenyn. En dialog uppenbaras, visande objektfšlten, deras typer och deras všrden (Figur 9). Figur 9: Inspektionsdialogen Inspektion Šr anvšndbart fšr att snabbt kontrollera hurvida en muteringsoperation (en operation som Šndrar tillstœndet hos objektet) exekverades korrekt. AlltsŒ, inspektion Šr ett enkelt avlusningsverktyg. I exemplet med Staff Šr alla fšlt av enkel typ (antingen icke-objekt typer eller stršngar). VŠrdet hos dessa typer kan visas direkt. Du kan omedelbart se om konstruktorn har gjort de rštta tilldelningarna. I mer komplicerade fall kan všrdena hos fšlt vara referenser till anvšndardefinierade objekt. Fšr att se ett sœdant exempel anvšnder vi ett annat projekt. ppna projektet people2 som ocksœ inkluderas i standarddistributionen av BlueJ. Diagrammet fšr people2, visas i Figur 10. Som du kan se har detta andra exempel ytterligare en klass Address, fšrutom de klasser som visades tidigare. Ett av fšlten i klassen Person Šr av den anvšndardefinierade typen Address. 14

15 Att gšra lite mer... Figur 10: Diagram av paketet people2 Fšr nšsta sak vi vill pršva ut Ð inspektion av objektfšlt Ð skapa ett objekt av Staff och anropa sedan metoden setaddress hos det objektet (som du finner i undermenyn till Person). Mata in en adress. Internt kommer Staff skapa ett objekt av klassen Address och lagra det i sitt fšlt address. Inspektera nu objektet frœn Staff. Den resulterande inspektionsdialogen visas i Figur 11. FŠlten inom objektet frœn Staff inkluderar nu address. Som du kan se visas dess všrde som <object reference> Ð eftersom det Šr ett komplext anvšndardefinierat objekt, kan inte dess všrde visas direkt i denna lista. Fšr att undersška adressen nšrmare, všlj fšltet address i listan och klicka pœ knappen Inspektera i dialogen. (Du kan ocksœ dubbelklicka fšltet address.) Ett annat inspektionsfšnster šppnas i sin tur visande detaljerna hos objektet frœn Address (Figur 12). Figur 11: Inspektion med objektreferens Figur 12: Inspektion av interna objekt Om det valda fšltet Šr publikt sœ istšllet fšr klicka Inspektera, kan du ocksœ všlja fšltet address och klicka pœ knappen Ta fram. Denna operation placerar det utvalda objektet pœ objektbšnken. DŠr kan du utforska det vidare genom att anropa dess metoder. Summering: Objektinspektion tillœter enkel avlusning genom att visa ett objekts interna tillstœnd. 15

16 Att gšra lite mer Komposition Termen ÒkompositionÓ refererar till mšjligheten att skicka objekt som parametrar till andra objekt. LŒt oss fšrsška pœ ett exempel. Skapa ett objekt av klassen Database. (Du kommer att se att Database har bara en konstruktor som inte tar nœgra parametrar, sœ bildandet av objekt Šr enkelt.) Objektet frœn Database har mšjlighet att innehœlla en lista av personer. Det har operationer fšr att addera objekt av personer och visa alla de personer som finns inlagda. (Att kalla det fšr Database, databas, Šr egentligen en liten šverdrift!) Om du inte redan har ett objekt frœn Staff eller Student pœ objektbšnken, skapa en av dessa ocksœ. Fšr det fšljande behšver du ett objekt av Database samt dessutom samtidigt ett objekt frœn Staff eller Student pœ objektbšnken. Anropa nu metoden addperson hos ett objekt frœn Database. Signaturen talar om att en parameter av typen Person všntas. (Kom ihœg: klassen Person Šr abstrakt, sœ det finns inga objekt som Šr direkt av typen Person. Men genom subtypning kan objekt frœn Student och Staff substitueras fšr personobjekt. SŒ det Šr tillœtet att skicka Student eller Staff dšr en Person všntas.) Fšr att skicka ett objekt som du har pœ din objektbšnk som parameter till det anrop du gšr, kan du skriva in namnet pœ det i parameterfšltet eller som genvšg bara klicka pœ objektet. Detta sšnder dess namn till metodanropsdialogen. Klicka OK och anropet gšrs. Eftersom det inte finns en returmetod fšr denna metod, ser vi inget omedelbart resultat. Du kan anropa metoden listall i objektet frœn Database fšr att kontrollera att operationen verkligen genomfšrdes. Operationen listall skriver ut informationer om personer till standardutmatningen. Du kommer att se en terminal som automatiskt šppnas fšr att visa texten. Fšrsšk igen med fler Šn en person i ÒdatabasenÓ. Summering: Ett objekt kan skickas som parameter till ett metodanrop genom att klicka pœ objektikonen. 16

17 5 Skapa nytt projekt Detta kapitel tar dig ut pœ en snabbtur hur du sštter upp nytt projekt. 5.1 Skapa ett bibliotek för projektet Fšr att skapa ett nytt paket, všlj Paket Ð Nytt... frœn menyn. En fildialog šppnas som lœter dig specificera namn och plats fšr ett nytt projekt. Fšrsšk det nu. Du kan všlja vilket som helst namn fšr ditt projekt. Efter du har klickat pœ OK, kommer ett bibliotek skapas med det namn du valde och huvudfšnstret visar det nya tomma projektet. Summering: Fšr att skapa ett projekt všlj Nytt... frœn menyn Paket. 5.2 Skapa klasser Du kan nu skapa klasser genom att klicka pœ knappen Ny KlassÉ pœ verktygsraden. Du kommer att fœ fylla i namnet pœ en klass Ð detta mœste vara en giltig identifierare i Java. Du kan ocksœ všlja frœn fyra typer av klasser: abstrakt (abstract), gršnssnitt (interface), appletprogram (applet) eller ÒstandardÓ. Detta val avgšr vilken sorts skelett som kommer att initialt genereras fšr din klass. Du kan senare Šndra typ av klass genom att Šndra kšllkoden (t.ex. genom att i koden lšgga till nyckelordet ÒabstractÓ). Efter skapandet av en klass representeras den genom en ikon i diagrammet. Olika fšrger identifierar olika typer av klasser, till exempel blœ fšr normala klasser, ljusblœ fšr abstrakta klasser, gršnt fšr gršnssnitt. NŠr du šppnar en editor fšr en ny klass kommer du att mšrka att ett standardskelett har skapats Ð detta borde gšra det lštt att bšrja. Standardkoden Šr syntaktiskt korrekt. Den kan kompileras men den gšr inte mycket. Fšrsšk skapa en del klasser och kompilera dessa. Summering: Fšr att skapa en klass klickar du pœ knappen Ny KlassÉ och specificerar klassnamnet. 17

18 Skapa nytt paket 5.3 Skapa beroenden Klassdiagrammet visar beroenden mellan klasser i form av pilar. Arvsrelationer (ÒextendsÓ eller ÒimplementsÓ) visas som dubbla pilar, relationen ÒanvŠnderÓ visas som enkla pilar. Du kan lšgga till beroenden antingen grafiskt (direkt i diagrammet) eller via text i kšllkoden. Om du adderar en pil grafiskt kommer kšllkoden automatiskt uppdateras; om du lšgger till i kšllkoden uppdateras diagrammet. Fšr att lšgga till en pil grafiskt klickar du pœ den lšmpliga pilknappen (dubbla pilar fšr ÒextendsÓ eller ÒimplementsÓ, enkla pilar fšr ÒanvŠnderÓ) och dra pilen frœn en klass till den andra. Att lšgga till pil fšr arv sštter in definitionerna ÒextendsÓ eller ÒimplementsÓ i kšllkoden (beroende pœ om mœlet var en klass eller ett gršnssnitt). Att lšgga till en pil fšr ÒanvŠnderÓ fšršndrar inte omedelbart koden (om inte mœlet Šr en klass frœn ett annat paket. I det fallet genereras en sats ÒimportÓ, vilket vi Šnnu inte sett i vœra exempel). Att ha en pil fšr anvšnder i ett diagram pekandes pœ en klass som egentligen inte anvšnds i kšllan, kommer att generera en varning senare som talar om att ÒanvŠnderÓ deklarerades men att klassen aldrig anvšnds. Att lšgga till pilar som text Šr enkelt: skriv bara in koden som du normalt skulle gšra det. SŒ fort som klassen sparas, sœ uppdateras diagrammet. (Kom ihœg: stšngs editorn, sparas koden automatiskt.) Summering: Fšr att skapa en pil klickar du pœ pilknappen och drar pilen i diagrammet, eller skriver i editorns kšllkodsfšnster. 5.4 Ta bort element Fšr att ta bort en klass frœn diagrammet všljer du klassen och sedan Ta Bort Klass frœn menyn Redigera. Du kan ocksœ všlja Ta Bort frœn klassens popupmeny. Fšr att ta bort en pil všljer du Radera pil frœn menyn och sedan všljer du pilen du vill ta bort. Summering: Fšr att ta bort en klass všljer du funktionen att Ta Bort frœn popupmenyn. Summering: Fšr att ta bort en pil, všlj Radera pil frœn menyn Redigera och klicka pœ pilen. 18

19 6 Avlusning Detta avsnitt introducerar de všsentligaste synpunkterna pœ avlusningsfunktioner i BlueJ. Vid samtal med lšrare i data har vi ofta hšrt kommentaren att det vore trevligt att anvšnda en avlusare under fšrsta undervisningsœret, men att det helt enkelt inte finns tid. Studenter kšmpar med editorn, kompilatorn och exekveringen; det finns ingen tid šver till att introducera ytterligare ett komplicerat verktyg. Det Šr dšrfšr vi har beslutat att gšra avlusaren sœ enkel som mšjligt. MŒlet Šr att ha en avlusare du kan fšrklara pœ 15 minuter som studenterna kan anvšnda framšver och de inte behšver vidare instruktioner om. LŒt oss se om vi har lyckats. Fšrst har vi reducerat funktionaliteten av traditionella avlusare till endast tre uppgifter: sštta brytpunkter stega igenom kod inspektera variabler andra sidan Šr var och en av dessa uppgifter mycket enkel. Vi kommer nu att pršva ut var och en av dom. Fšr att sštta igœng šppnar du paketet debugdemo, som inkluderas i biblioteket examples i distributionen. Detta paket innehœller nœgra klasser vars enda uppgift Šr att demonstrera avlusningsfunktionerna Ð dšrutšver Šr de inte speciellt begripliga. 6.1 Sätta brytpunkter Att sštta en brytpunkt lœter dig avbryta kšrningen vid en speciell punkt i koden. NŠr kšrningen avbryts kan du undersška tillstœndet hos dina objekt. Det hjšlper dig ofta att fšrstœ vad som hšnder i din kod. I editorn till všnster om texten finns brytpunktsutrymme (Figur 13). Du kan sštta en brytpunkt genom att klicka dšr. Ett litet stopptecken visas fšr att markera brytpunkten. Fšrsšk det nu. ppna klassen Demo, sšk efter metoden loop och sštt brytpunkten nœgonstans i loopen for. Stopptecknet bšr visa sig i din editor. Figur 13: En brytpunkt 19

20 Avlusning NŠr kodraden med brytpunkten nœs, kommer exekveringen att avbrytas. LŒt oss fšrsška det nu. Skapa ett objekt av klassen Demo och anropa metoden loop med en parameter, lœt sšga 10. SŒ fort som brytpunkten nœs kommer ett editorfšnster att šppnas, visande den nuvarande raden av kod, och avlusningsfšnstret dyker upp. Det kommer ungefšr att se ut som i Figur 14. Figur 14: Avlusningsfšnstret Markeringen i editorn visar raden som kommer att kšras hšrefter. (Kšrningen stoppades fšre denna rad.) Summering: Fšr att sštta en brytpunkt klickar du i brytpunktsomrœdet till všnster om texten i editorn. 6.2 Stega igenom kod NŠr vi nu har stoppat exekveringen (vilket švertygar oss om att metoden verkligen kšrs och denna punkt i koden verkligen nœs), kan vi enkelstega genom koden och se hur kšrningen fortskrider. Fšr att gšra detta, klicka upprepade gœnger pœ knappen Step i avlusningsfšnstret. Du kommer att se kšllkodsrader i editorn fšršndras (markeringen fšrflyttas till den rad som kšrs). Varje gœng du klickar pœ knappen Step, exekveras en sats och exekveringen stannar igen. Notera ocksœ att všrdena hos variablerna fšršndras, som visas i avlusningsfšnstret (t.ex. všrden fšr sum). SŒ du kan stegvis exekvera och observera vad som hšnder. NŠr du tršttnat pœ detta, kan du klicka pœ brytpunkten igen fšr att ta bort den, och sedan pœ knappen Continue i avlusningsfšnstret fšr att Œter starta exekveringen normalt. LŒt oss prova det igen med en annan metod. SŠtt en brytpunkt i klass Demo, metoden cartest() i raden som lyder places = mycar.seats(); Anropa metoden. NŠr brytpunkten nœs, kommer du precis nœ en rad som innehœller ett metodanrop till metoden seats() i klassen Car. Klickar du Step kommer du att gœ fšrbi raden. LŒt oss pršva Step Into den hšr gœngen. Om du stegar in i ett metodanrop (step into) sœ kommer du att nœ in i metoden och kšra den rad fšr rad (inte stegvis bearbetning). I detta fall tas du in till seats() metoden i klassen Car. Nu kan du lyckligtvis stega dig igenom denna metod tills du nœr slutet och Œterkommer till den anropande metoden. Notera hur avlusaren visar fšršndringar. 20

21 Avlusning Step och Step Into beter sig lika om den nuvarande raden inte innehœller ett metodanrop. Summering: Fšr att enkelstega genom din kod anvšnder du knapparna Step och Step Into i avlusningsmiljšn. 6.3 Inspektera variabler NŠr du avlusar din kod Šr det viktigt att fœ insikt i sina objekt (lokala variabler och instansvariabler). Att gšra detta Šr trivialt Ð det mesta har du redan sett. Du behšver inga speciella kommandon fšr att inspektera variabler; instansvariabler hos det nuvarande objektet och lokala variabler hos den nuvarande metoden visas och uppdateras alltid automatiskt. Du kan všlja metoder i en anropssekvens fšr att se variabler hos andra aktiva objekt och metoder. Fšrsšk t.ex. sštta en brytpunkt i metoden cartest() igen. PŒ všnster sida om avlusningsfšnstret ser du anropssekvensen. Det visar nu Car.seats Demo.carTest Detta indikerar att Car.seats anropades av Demo.carTest. Du kan všlja Demo.carTest i denna lista fšr att inspektera kšllan och de nuvarande variablernas všrden i denna metod. Om du gœr fšrbi raden som innehœller instruktionen new Car(...) kan du observera att všrdet hos den lokala variabeln mycar visas som <object reference>. Alla všrden av objekttyp (utom String) visas pœ detta sštt. Du kan inspektera denna variabel genom att dubbelklicka den. Genom att gšra det šppnas ett fšnster fšr objektinspektering identiskt med det som tidigare beskrivits (avsnitt 4.1). Det finns ingen verklig skillnad mellan att inspektera objekt hšr och inspektera objekt pœ objektbšnken. Summering: Inspektera variabler Šr lštt Ð de visas automatiskt i avlusningsfšnstret. 6.4 Stanna och avsluta Ibland nšr ett program kšrs under lœng tid, funderar du kanske šver om allt verkligen Šr riktigt. Kanske Šr det en infinit slinga (loop), kanske tar det bara lœng tid. NŒ, vi kan kontrollera. Anropa metoden longloop() frœn klassen Demo. Denna tar lite tid. Nu vill vi veta vad som hšnder. Ta fram avlusningsfšnstret om det inte redan Šr framme pœ skšrmen. (Fšrresten, att klicka pœ skruven som indikerar att maskinen kšrs under exekveringen Šr en genvšg fšr att visa avlusaren.) 21

22 Avlusning Klicka nu pœ knappen Halt. Kšrningen avbryts precis som om vi hade stštt pœ en brytpunkt. Du kan ta nœgra steg, observera variabler och se att allt Šr klart Ð det behšver bara lite tid att bli fšrdigt. Du kan bara fortsštta med knappen Continue och stanna med Halt flera gœnger fšr att se hur snabbt den ršknar. Om du inte vill gœ vidare (till exempel om du har upptšckt att du befinner dig i en infinit slinga) kan du bara klicka pœ Terminate fšr att avsluta hela exekveringen. Avslutningen (Terminate) bšr inte anvšndas fšr ofta Ð du kan lšmna helt všlformulerade objekt i inkonsistenta tillstœnd genom att abrupt avsluta maskinen, sœ det rekommenderas att du endast anvšnder det som nšdutgœng frœn programmet. Summering: Halt och Terminate kan anvšndas fšr att stanna en kšrning temporšrt eller permanent. 22

23 7 Att skapa fristående tillämpningar BlueJ kan skapa exekverbara jar-filer. Exekverbara jar-filer kan kšras under vissa system genom att dubbelklicka pœ filen (t.ex. Windows), eller att utfšra kommandot java -jar <filnamn>.jar (Unix eller DOS prompt). Vi kommer att fšrsška med projektet hello. ppna det (det finns i katalogen examples). SŠkerstŠll att projektet redan Šr kompilerat. VŠlj funktionen ExporteraÉ frœn menyn Paket. En dialog šppnas som lœter dig všlja lagringsformat. VŠlj "Spara som jar-fil" fšr att skapa en exekverbar jar-fil. Fšr att gšra jar-filen kšrbar, mœste du ocksœ specificera en huvudsaklig klass. Denna klass mœste ha en giltig main-metod definierad (med signaturen public static void main(string[] args)). I vœrt exempel Šr valet av huvudsaklig klass enkelt: det finns bara en klass. VŠlj Hello frœn popupmenyn. Om du har andra projekt, všlj den klass som innehœller metoden "main" som du vill lœta vara kšrbar. Vanligtvis sœ vill du inte inkludera kšllkodsfiler tillsammans med de kšrbara filerna. Men du kan, om du všljer att distribuera kšllkodsfilerna ocksœ. Klicka pœ Continue. Sedan kommer du att se en fildialog som lœter dig specificera namnet pœ den jar-fil du vill skapa. Skriv hello och klicka pœ OK. Skapandet av exekverbara jar-filer Šr fšrdigt. Du kan dubbelklicka jar-filen endast om tillšmpningen anvšnder ett GUI-grŠnssnitt. VŒrt exempel anvšnder ett textsnitt, sœ vi mœste starta det via en textterminal. LŒt oss pršva att kšra jar-filen nu. ppna ett terminalfšnster eller DOS-fšnster. GŒ till katalogen dšr du sparade din jarfil (du bšr se filen hello.jar). Antaget att Java Šr installerat korrekt pœ ditt system, sœ bšr du kunna skriva java -jar hello.jar fšr att kšra filen. Summering: Fšr att skapa en fristœende tillšmpning, anvšnd Paket - Export 23

24 8 Skapa appletprogram 8.1 Köra en applet BlueJ tillœter dig att skapa och exekvera appletprogram likavšl som tillšmpningar. Vi har inkluderat nœgra appletprogram i exempelbiblioteket i distributionen. Fšrst vill vi fšrsška kšra en av dessa. ppna paketet appletclock frœn exemplen. Du kommer att se att detta paket har bara en klass; med namnet Clock. Klassikonen Šr markerad (med bokstšverna WWW) som en applet. VŠlj kommandot Kšr Applet frœn klassens popupmeny. En dialog poppar upp som lœter dig všlja (Figur 15). Figur 15: Dialogen "Kšr Applet" Du ser att du har mšjlighet att kšra appletprogrammet i en webbklient eller i en appletbetraktare (eller att generera en webbsida utan att kšra det). LŒt standardvšrdena vara och klicka OK. Efter nœgra sekunder kommer en appletbetraktare att dyka upp visande appletprogrammet fšr klockan. Appletbetraktaren (appletviewer) Šr installerad tillsammans med din JDK, sœ den Šr garanterat samma version som din Javakompilator. Generellt innebšr den mindre problem Šn vad webbklienter gšr. Din webbklient kan kšra en annan version av Java och skapa problem, beroende pœ vilken webbklient du anvšnder. Med de allra senaste klienterna bšr det dock gœ bra. Under systemet Microsoft Windows anvšnder BlueJ din standardklient. Under Unixsystem definieras webbklienten av instšllningar i BlueJ. Summering: Fšr att kšra ett appletprogram, všlj Kšr Applet frœn appletprogrammets popupmeny. 24

25 Skapa appletprogram 8.2 Att skapa en applet Efter att sett hur man kšr en applet vill vi nu skapa vœr egen. Skapa en ny klass med Applet som klasstyp (du kan všlja typen i dialogen Ny Klass). Kompilera och kšr appletprogrammet. Det Šr allt! Det var inte sœ svœrt, va? Appletprogram (liksom andra klasser) genereras med ett standardskelett av giltig kod. Fšr appletprogram innebšr det ett enkelt program som visar tvœ rader text. Du kan nu šppna editorn och redigera appletprogrammet fšr att sštta in din egen kod. Du kommer att se appletprogrammets alla vanliga metoder finns dšr, var och en med kommentarer som fšrklarar dess syfte. Texten som visas finns i metoden paint. Summering: Fšr att skapa ett appletprogram, klicka pœ knappen Ny KlassÉ och všlj Applet som klasstyp. 8.3 Testa appletprogram I nœgra situationer kan det vara anvšndbart att skapa ett objekt av ett appletprogram pœ objektbšnken (som i normala fall). Du kan gšra det Ð konstruktorn visas i appletprogrammet popupmeny. FrŒn objektbšnken kan du inte kšra hela appleten, men du kan anropa nœgra metoder. Detta kan vara anvšndbart fšr att testa enskilda metoder som du har skrivit som del av din implementation av appletprogrammet. 25

26 9 Andra operationer 9.1 Öppna icke-bluej paket i BlueJ BlueJ lœter dig šppna existerande paket som har skapats utanfšr BlueJ. Fšr att gšra detta všljer du Paket Ð ppna Icke-BlueJ... ifrœn menyn. VŠlj katalogen som innehœller kšllkodsfilerna till Java och klicka sedan knappen ppna i BlueJ. Systemet kommer att frœga efter en bekršftelse pœ om du vill šppna den hšr katalogen. Summering: Icke-BlueJ paket kan šppnas med kommandot Paket: ppna Icke- BlueJÉ 9.2 Lägga till existerande klasser till ditt projekt Ofta vill du anvšnda en klass som du har har fœtt nœgon annanstans ifrœn i ditt BlueJprojekt. Till exempel, en lšrare kan ge en Javaklass till studenterna som skall anvšndas i ett projekt. Du kan enkelt inkludera en existerande klass till ditt projekt genom att všlja Redigera - LŠgg till en klass frœn filé frœn menyn. Detta lœter dig importera kšllkoden till Java (med ett namn vars avslutning Šr.java). NŠr en klass importeras i ett projekt tas en kopia och sparas i den nuvarande projektkatalogen. Effekten Šr densamma som om du precis hade skapat en klass och skrivit all dess kšllkod. Ett alternativ Šr att lšgga till kšllkodsfilen fšr en ny klass till projektkatalogen utifrœn BlueJ. NŠsta gœng du šppnar projektet kommer klassen att inkluderas projektdiagram. Summering: Klasser kan kopieras in till ett paket utifrœn genom att anvšnda kommandot LŠgg till en klass frœn filé i menyn Redigera. 9.3 Anropa main och andra statiska metoder ppna projektet hello frœn katalogen examples. Den enda klassen i projektet (klassen Hello) definierar en standard main-metod. Hšgerklicka pœ klassen och du kommer att se att klassmenyn inkluderar inte bara klassens konstruktor, men ocksœ den statiska metoden main. Du kan nu anropa main 26

27 Andra operationer direkt frœn menyn (utan att fšrst skapa ett objekt, precis som vi všntar oss frœn en statisk metod). Alla statiska metoder kan anropas pœ detta sštt. Standardmetoden main všntar sig en vektor (array) av String som argument. Du kan skicka en stršngvektor genom att anvšnda Javasyntaxen fšr vektorkonstanter. Till exempel, kan du skicka {"one", "two", "three"} (inklusive klamrar) till metoden. Pršva! Not: I standarden fšr Java kan inte vektorkonstanter anvšndas som argument till metodanrop. De kan endast anvšndas som initialiserare. Fšr att tillœta interaktiva anrop till standardmetoder som main i BlueJ, har vi tillœtit mšjligheten att skicka vektorkonstanter som parametrar. Summering: Statiska metoder kan anropas frœn klassens popupmeny. 9.4 Arbeta med bibliotek Ofta nšr du skriver ett Javaprogram, mœste du referera till Javas standardbibliotek. Du kan šppna webbklienten som visar API-dokumentationen fšr JDK genom att všlja HjŠlp - Java Klassbibliotek frœn menyn (om du Šr uppkopplad). JDK-dokumentationen kan ocksœ installeras och anvšndas lokalt (nedkopplad). Detaljer fšrklaras i referensmanualen till BlueJ. Summering: Javas API fšr standardklasserna kan visas genom att všlja HjŠlp - Java Klassbibliotek. 27

28 10 Endast summeringar Grunderna 1. Fšr att skapa ett objekt, všlj en konstruktor frœn klassens popupmeny. 2. Fšr att exekvera en metod, všlj den frœn popupmenyn fšr objekt. 3. Fšr att redigera kšllkoden till en klass, dubbelklicka dess klassikon. 4. Fšr att kompilera en klass, klicka pœ knappen Kompilera i editorn. Fšr att kompilera ett paket, klicka pœ knappen Kompilera i paketfšnstret. 5. Fšr att fœ hjšlp med ett felmeddelande frœn kompilering, klicka pœ frœgetecknet intill felmeddelandet. Att gšra lite mer Objektinspektion tillœter enkel avlusning genom att visa ett objekts interna tillstœnd. 7. Ett objekt kan skickas som parameter till ett metodanrop genom att klicka pœ objektikonen. Skapa nytt paket 8. Fšr att skapa ett paket všlj Nytt... frœn menyn Paket. 9. Fšr att skapa en klass klickar du pœ knappen Ny KlassÉ och specificerar klassnamnet. 10. Fšr att skapa en pil klickar du pœ pilknappen och drar pilen i diagrammet, eller skriver i editorns kšllkodsfšnster. 11. Fšr att ta bort en klass všljer du funktionen att Ta Bort frœn popupmenyn. 12. Fšr att ta bort en pil, všlj Radera pil frœn menyn Redigera och klicka pœ pilen. Avlusning 13. Fšr att sštta en brytpunkt klickar du i brytpunktsomrœdet till všnster om texten i editorn. 14. Fšr att enkelstega genom din kod anvšnder du knapparna Step och Step Into i avlusningsmiljšn. 15. Inspektera variabler Šr lštt Ð de visas automatiskt i avlusningsfšnstret. 16. Halt och Terminate kan anvšndas fšr att stanna en kšrning temporšrt eller permanent. Skapa fristœende tillšmpningar 17. Fšr att skapa en fristœende tillšmpning, anvšnd Paket - ExportÉ Skapa appletprogram 18. Fšr att kšra ett appletprogram, všlj Kšr Applet frœn appletprogrammets popupmeny. 19. Fšr att skapa ett appletprogram, klicka pœ knappen Ny KlassÉ och všlj Applet som klasstyp. 28

29 Andra operationer Andra operationer 20. Icke-BlueJ paket kan šppnas med kommandot Paket: ppnaé 21. Klasser kan kopieras in till ett paket utifrœn genom att anvšnda kommandot Importera KlassÉ 22. Statiska metoder kan anropas frœn klassens popupmeny. 23. Javas API fšr standardklasserna kan visas genom att všlja HjŠlp - Java Klassbibliotek 29

30 30

Michael Kölling översättning Set Lonnert PLATSHÅLLARE ERSÄTT FÖRSTA SIDAN MED ORGINAL

Michael Kölling översättning Set Lonnert PLATSHÅLLARE ERSÄTT FÖRSTA SIDAN MED ORGINAL Vägledning till BlueJ Michael Kölling översättning Set Lonnert PLATSHÅLLARE ERSÄTT FÖRSTA SIDAN MED ORGINAL 13 februari 2001 Innehåll Figurer.......................................... iii 1 Förord 1 1.1

Läs mer

Vägledning till BlueJ

Vägledning till BlueJ Vägledning till BlueJ Version 1.0 för BlueJ Version 1.0 Michael Kölling School of Network Computing Monash University Översatt från engelska av Set Lonnert 1 Förord 4 1.1 Om BlueJ...4 1.2 Räckvidd och

Läs mer

Lšneadministration Handbok

Lšneadministration Handbok 2001 Lšneadministration Handbok 2001 HOLT AB Alla ršttigheter fšrbehœlles. InnehŒllet i detta dokument kan Šndras utan fšregœende meddelande och representerar inget Œtagande frœn HOLT AB. Denna handbok

Läs mer

Objekt och klasser - Introduktion. Objekt. SparKonto.java 2. SparKonto.java 1. Konton.java. Ett objekt har: Ett bankkonto

Objekt och klasser - Introduktion. Objekt. SparKonto.java 2. SparKonto.java 1. Konton.java. Ett objekt har: Ett bankkonto Objekt och klasser - Introduktion Objekt Ð Begreppet objekt Ð Hur klasser anvšnds fšr att skapa objekt Ð Fšr-definierade klasser Ð Metoder och parameteršverfšring Ð Definiera klasser Ð Modifierare Ð Statiska

Läs mer

Objekt och klasser - Introduktion. Objekt. Spar_Konto 2. Spar_Konto 1. Konton. Ett objekt har: Ett bankkonto. public void uttag(double belopp)

Objekt och klasser - Introduktion. Objekt. Spar_Konto 2. Spar_Konto 1. Konton. Ett objekt har: Ett bankkonto. public void uttag(double belopp) Objekt och klasser - Introduktion Objekt Ð Begreppet objekt Ð Hur klasser anvšnds fšr att skapa objekt Ð Fšr-definierade klasser Ð Metoder och parameteršverfšring Ð Definiera klasser Ð Modifierare Ð Statiska

Läs mer

Kapitel 6. Kapitel 6. Hakparenteser fšr att ange index float[] priser = new float[500]; frekvens[4] boolean[] flaggor;

Kapitel 6. Kapitel 6. Hakparenteser fšr att ange index float[] priser = new float[500]; frekvens[4] boolean[] flaggor; Organisation En array Šr en ordnad lista av všrden Varje všrde har ett numeriskt index - deklaration & anvšndning som parametrar flerdimensionella fšlt N element indexeras med 0 till N-1 0 1 2 3 4 5 6

Läs mer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Java: Utvecklingsverktyg, datatyper, kontrollstrukturer Sven-Olof Nyström Uppsala Universitet 13 juni 2005 1 Utvecklingsverktyg för Java Vi rekommenderar Suns utvecklingsverktyg (SDK, tidigare JDK), se

Läs mer

DatortillŠmpningar. Det har hšnt nœgot!

DatortillŠmpningar. Det har hšnt nœgot! DatortillŠmpningar Det har hšnt nœgot! 1945: 1995: DatortillŠmpningar? Vad skall vi egentligen prata om? DatortillŠmpning? DatortillŠmpning? DatortillŠmpning? DatortillŠmpning? Nej! Vi har sett: n en bil

Läs mer

Social kompetens/všrdegrund

Social kompetens/všrdegrund Skapande Utvecklar sin skapande fšrmœga och sin fšrmœga att fšrmedla upplevelser, tankar och erfarenheter i mœnga uttrycksformer som lek, bild, ršrelse, sœng och musik, dans och drama Social kompetens/všrdegrund

Läs mer

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ Organisation En array Šr en ordnad lista av všrden Varje všrde har ett numeriskt index - deklaration & anvšndning som parametrar flerdimensionella fšlt N element indexeras med 0 till N-1 0 1 2 3 4 5 6

Läs mer

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

Läs mer

Samband mellan resurser och resultat

Samband mellan resurser och resultat Skolverkets rapport nr 170 Samband mellan resurser och resultat En studie av landets grundskolor med elever i Œrskurs 9 Sammanfattning: Denna studie omfattar nšrmare 900 kommunala grundskolor och drygt

Läs mer

Editering, Kompilering och Exekvering av Javaprogram

Editering, Kompilering och Exekvering av Javaprogram UMEÅ UNIVERSITET Institutionen för informatik B.1, Programmeringens grunder, 5 poäng Editering, Kompilering och Exekvering av Javaprogram Introduktion Syftet med kursmomentet Programmeringens grunder (B.1)

Läs mer

Newtons metod i en och flera variabler

Newtons metod i en och flera variabler UMEÅ UNIVERSITET Inst för Datavetenskap Marie Nordström Mars 001 Obligatorisk uppgift : Newtons metod i en och flera variabler Redovisning FšrsŠttsblad Problemdefinition och algoritm fšr lšsningen, Testkšrningar

Läs mer

ELEKTRONISKA MNESGUIDER

ELEKTRONISKA MNESGUIDER ELEKTRONISKA MNESGUIDER InnehŒll, struktur och layout Johan AhrŽn Mats Nordstršm Examensarbete(20 pošng) fšr magisterexamen i Biblioteks- och informationsvetenskap vid Lunds universitet. Handledare: Sten

Läs mer

Att använda Java SE JDK 6

Att använda Java SE JDK 6 Att använda Java SE JDK 6 Programmeringsspråket Java är utvecklat av det amerikanska företaget Sun Microsystems. Sun erbjuder gratis en utvecklingsmiljö för java-programmering, Java 2 SE (Standard Edition).

Läs mer

Heltalsrepresentation. Fler byggstenar. Overflow och Underflow. TvŒ-komplement. FlyttalsvŠrden. Fyra heltalstyper. Tecken-bit

Heltalsrepresentation. Fler byggstenar. Overflow och Underflow. TvŒ-komplement. FlyttalsvŠrden. Fyra heltalstyper. Tecken-bit Fler byggstenar Heltalsrepresentation Fyra heltalstyper Intern data representation Typomvandlingar Fler operatorer VŠljande & upprepande satser Tecken-bit by te t short t int t 7 bitar 15 bitar 31 bitar

Läs mer

NetBeans 5.5. Avsikt. Projektfönster

NetBeans 5.5. Avsikt. Projektfönster NetBeans 5.5 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till

Läs mer

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på:

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: Bilaga C Eclipse 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: www.eclipse.org help.eclipse.org www.eclipse.org/downloads/

Läs mer

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program

Övning 1. Datateknik A, Java I, 5 poäng. Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program Datateknik A, Syfte: Att ladda hem och installera Java Att skriva ditt första Javaprogram Att kompilera och exekvera ditt program Att läsa: Lektion 1 Antal uppgifter: 3 Inlämning: Sker via inlämningsuppgifter

Läs mer

F R O R D. Stockholm i december 1998. Katja KerŠnen. E-post: katja.keranen@swipnet.se

F R O R D. Stockholm i december 1998. Katja KerŠnen. E-post: katja.keranen@swipnet.se F R O R D Jag vet inte om det Šr sœ vanligt fšrekommande att man skriver ett fšrord till en tillšmparuppsats, men jag kšnner att det Šr sœ mœnga personer som jag vill uppmšrksamma och tacka sœ dšrfšr gšr

Läs mer

First Office. Redovisning. Ekonomisystem fšr Macintosh och Windows

First Office. Redovisning. Ekonomisystem fšr Macintosh och Windows First Office Redovisning Ekonomisystem fšr Macintosh och Windows 1998 Baltic Business Software, Stockholm, Sweden Att helt eller delvis mœngfaldiggšra innehœllet i handboken eller programmet utan skriftligt

Läs mer

Fakturering Kund & Leverantšrsreskontra. Handbok

Fakturering Kund & Leverantšrsreskontra. Handbok 2001 Fakturering Kund & Leverantšrsreskontra Handbok 2001 HOLT AB Alla ršttigheter fšrbehœlles. InnehŒllet i detta dokument kan Šndras utan fšregœende meddelande och representerar inget Œtagande frœn HOLT

Läs mer

Personuppgifter pœ Internet. Undantag frœn fšrbudet i 33 personuppgiftslagen

Personuppgifter pœ Internet. Undantag frœn fšrbudet i 33 personuppgiftslagen Personuppgifter pœ Internet Undantag frœn fšrbudet i 33 personuppgiftslagen Rapport till regeringen den 1 mars 1999 2 InnehŒllsfšrteckning Sammanfattning ÉÉÉÉ..ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ...4 Fšrfattningsfšrslag

Läs mer

l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll Kapitel 2

l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll Kapitel 2 Strukturerad programmering l uppgiftsformulering l algoritmkonstruktion l verifikation l kodning l testning och avlusning l validering l dokumentering l underhœll 1 2 Olika ansatser Begrepp Den manipulativa/imperativa

Läs mer

MILJ BALKENS EFTERBEHANDLINGSANSVAR FASTIGHETS GARE

MILJ BALKENS EFTERBEHANDLINGSANSVAR FASTIGHETS GARE MILJ BALKENS EFTERBEHANDLINGSANSVAR F R FASTIGHETS GARE Examensarbete pœ jur kand programmet 20 p MiljšrŠtt Av Helena Rudin Handledare Docent Jonas Ebbesson Juridiska institutionen Gšteborgs universitet

Läs mer

NetBeans 7. Avsikt. Projektfönster

NetBeans 7. Avsikt. Projektfönster NetBeans 7 Avsikt Att bekanta dig med NetBeans programmeringsmiljö, dvs att med hjälp av NetBeans 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till

Läs mer

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Kort om klasser och objekt En introduktion till GUI-programmering i Java Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på

Läs mer

not notismœl NUTEK NŠrings- och teknikutvecklingsverket prop proposition ref referat

not notismœl NUTEK NŠrings- och teknikutvecklingsverket prop proposition ref referat Fšrkortningar Handledare: Professor Rolf Dotevall Hšstterminen 1999 AGL Lagen (1941:416) om arvsskatt och gœvoskatt BFN BokfšringsnŠmnden BFL Bokfšringslagen (1976:125) FAR Fšreningen Auktoriserade Revisorer

Läs mer

Mobilister och nallar i forskningens tjšnst Jan Einarsson

Mobilister och nallar i forskningens tjšnst Jan Einarsson Mobilister och nallar i forskningens tjšnst Jan Einarsson Tidigare publicerad i 1) LUNDASTUDIER I NORDISK SPR KVETENSKAP A 55 : Inger HaskŒ & Carin Sandqvist (red), Alla tiders sprœk. En všnskrift till

Läs mer

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:

Läs mer

Svenska. AnvŠndarhandbok. FŠrgskanner. Tryckt på återvunnet papper

Svenska. AnvŠndarhandbok. FŠrgskanner. Tryckt på återvunnet papper Swe 610 intro 12/10/99 2:31 pm Page i FŠrgskanner Med ensamrštt. Ingen del av detta dokument fœr Œterges, lagras i ett Œtervinningssystem eller šverfšras i nœgon form eller pœ nœgot sštt, vare sig elektroniskt,

Läs mer

dess fšrhœllande till konkurrensrštten

dess fšrhœllande till konkurrensrštten Juridiska Institutionen TillŠmpade studier Handelshšgskolan 20 pošng, VT 2000 vid Gšteborgs Universitet -SAS PrissŠttningoch Fšrfattare: Johan Englund Handledare: Docent Filip Bladini Sammanfattning Inrikesflyget

Läs mer

Enkšping-HŒbo TrŠdgŒrdssŠllskap Hšsten 2013 PROGRAM H STEN 2013. Enkšping-HŒbo TrŠdgŒrdssŠllskap

Enkšping-HŒbo TrŠdgŒrdssŠllskap Hšsten 2013 PROGRAM H STEN 2013. Enkšping-HŒbo TrŠdgŒrdssŠllskap PROGRAM H STEN 2013 Quisque: Hoppas det Šr full fart pœ všxtligheten hos er. Annars har det stora samtalsšmnet 2013 hos tršdgœrdsintresserade och Šven hos professionella odlare fšr den delen, varit den

Läs mer

Kopiering av objekt i Java

Kopiering av objekt i Java 1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom

Läs mer

a. didoner b. ellipstecken c. gif d. kapitšler e. pica f. rastertšthet g. serif h. spšrra i. stycketecken

a. didoner b. ellipstecken c. gif d. kapitšler e. pica f. rastertšthet g. serif h. spšrra i. stycketecken IPLab, Nada, KTH och SU 8 maj 1999 1 Tentamen i, N1060, lšrdagen den 8 maj 1999 kl 9Ð14 med lšsningsfšrslag HjŠlpmedel: ršknedosa FrŒga om nœgot verkar oklart. PoŠng fšr nšjaktigt lšst uppgift anges inom

Läs mer

Barnets ršttigheter utifrœn barnets rštt att komma till tals

Barnets ršttigheter utifrœn barnets rštt att komma till tals 1 Juridiska institutionen Handelshšgskolan vid Gšteborgs universitet Juristlinjen TillŠmpade studier 20 pošng HT 1998 Barnets ršttigheter utifrœn barnets rštt att komma till tals Av: Catarina Carlsson

Läs mer

L SNINGSF RSLAG TILL TENTAMEN PROGRAMMERING I JAVA, 5P

L SNINGSF RSLAG TILL TENTAMEN PROGRAMMERING I JAVA, 5P L SNINGSF RSLAG TILL TENTAMEN PROGRAMMERING I JAVA, 5P. 990810 Uppgift 1 (2 pošng) public class Earth public String question; public static int answer; public Earth(String question, int answer) this.question

Läs mer

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: Att skapa en klass kvadrat Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här: public class Kvadrat { private int sida; Det var väl inte

Läs mer

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det

Läs mer

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas. Eclipse Avsikt Att bekanta dig med Eclipse programmeringsmiljö, dvs att med hjälp av Eclipse 1. skapa ett nytt projekt 2. skriva in källkod (sparas som.java-fil) 3. kompilera (översätta) koden till byte-kod

Läs mer

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc

Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp

Läs mer

Eclipse en handledning

Eclipse en handledning LUNDS TEKNISKA HÖGSKOLA EDAA01 Programmeringsteknik fördjupningskurs Institutionen för datavetenskap VT 2015 Eclipse en handledning 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas

Läs mer

Jan Einarsson, Offentlig privathet i nšrradion denna version 2000, Studentlitteratur och fšrfattaren. Offentlig privathet i nšrradion Jan Einarsson

Jan Einarsson, Offentlig privathet i nšrradion denna version 2000, Studentlitteratur och fšrfattaren. Offentlig privathet i nšrradion Jan Einarsson Offentlig privathet i nšrradion Jan Einarsson Tidigare publicerad i SprŒkbruk, grammatik och sprœkfšršndring. En festskrift till Ulf Teleman 13.1.1994, (s.25-36) Institutionen fšr nordiska sprœk, Lunds

Läs mer

L SNINGSF RSLAG TILL TENTAMEN PROGRAMMERING I JAVA, 5P

L SNINGSF RSLAG TILL TENTAMEN PROGRAMMERING I JAVA, 5P UME UNIVERSITET Datavetenskap 990824 Uppgift 1 (1+3=4 pošng) L SNINGSF RSLAG TILL TENTAMEN PROGRAMMERING I JAVA, 5P. 990824 Varje java-applikation mœste innehœlla fšljande metod: public static void main(string

Läs mer

kylskåp BRUKSANVISNING ERM 16100 2222 631-07

kylskåp BRUKSANVISNING ERM 16100 2222 631-07 kylskåp BRUKSANVISNING ERM 16100 2222 631-07 S Viktig information om sškerhet Det Šr av stšrsta vikt att denna bruksanvisning fšrvaras tillsammans med skœpet fšr framtida behov. LŒt alltid bruksanvisningen

Läs mer

SYSTEMUTVECKLING. - en jšmfšrelse mellan teoretiska modeller och ett praktikfall

SYSTEMUTVECKLING. - en jšmfšrelse mellan teoretiska modeller och ett praktikfall INSTITUTIONEN F R INFORMATIK Handelshšgskolan vid Gšteborgsuniversitet SYSTEMUTVECKLING - en jšmfšrelse mellan teoretiska modeller och ett praktikfall Detta examensarbete behandlade Šmnet systemutveckling.

Läs mer

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java (Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart

Läs mer

Swe intro1200 12/10/99 12:11 pm Page i

Swe intro1200 12/10/99 12:11 pm Page i Swe intro1200 12/10/99 12:11 pm Page i Alla ršttigheter fšrbehœllna. Ingen del av detta dokument fœr reproduceras, lagras i ett Œtersškningssystem, eller pœ nœgot sštt eller i nœgon form šverfšras elektroniskt,

Läs mer

Kan man lita pœ fšrvaltningsbeslut?

Kan man lita pœ fšrvaltningsbeslut? Juridiska Institutionen Handelshšgskolan vid Gšteborgs Universitet Jur. kand.-programmet TillŠmpade studier, 20 p VT 2000 Kan man lita pœ fšrvaltningsbeslut? En uppsats om ršttskraft, retroaktivitet och

Läs mer

Objektorienterad programmering i Java I

Objektorienterad programmering i Java I Laboration 0 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: ca 2 3 timmar Att läsa: sidan 45 52 Syfte: Att ladda hem och installera utvecklingsmiljön Att skriva ditt första Javaprogram

Läs mer

1 Inledning 2 2 Aktieboken 3

1 Inledning 2 2 Aktieboken 3 InnehŒllsfšrteckning 1 Inledning 2 2 Aktieboken 3 2.1 Kupongbolag och avstšmningsbolag 3 2.2 Fšrvaltarregistrerade aktier 8 2.3 Aktiebokens funktioner 10 2.4 Introduktion till lagreglerna kring aktiebokens

Läs mer

ISO/IEC Riktlinje 22 och EN 45014. 3-5 Owa 3-chome, Suwa-shi, Nagano-ken 392- Japan

ISO/IEC Riktlinje 22 och EN 45014. 3-5 Owa 3-chome, Suwa-shi, Nagano-ken 392- Japan Alla ršttigheter fšrbehœllna. Ingen del av detta dokument fœr reproduceras, lagras i ett Œtersškningssystem, eller pœ nœgot sštt eller i nœgon form šverfšras elektroniskt, mekaniskt, genom fotokopiering,

Läs mer

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack 725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den

Läs mer

Utbildning via Internet

Utbildning via Internet INSTITUTION F R INFORMATIK Handelshšgskolan vid Gšteborgs Universitet Utbildning via Internet Jag har i detta examensarbete beskrivit den nya typen av undervisning nšmligen utbildning via Internet. Syftet

Läs mer

Logikprogrammering. KŠnnetecken. Exempel pœ relation. Relationer. Varianter. KŠnnetecken och fšrutsšttningar Prolog

Logikprogrammering. KŠnnetecken. Exempel pœ relation. Relationer. Varianter. KŠnnetecken och fšrutsšttningar Prolog Logikprogrammering KŠnnetecken och fšrutsšttningar Prolog FšrtjŠnster BegrŠnsningar Praktiska tillšmpningar KŠnnetecken Hšg abstraktionsnivœ Deklarativt, ej proceduralt Specificerar šnskade resultat snarare

Läs mer

Swe intro 900 12/10/99 10:23 am Page i

Swe intro 900 12/10/99 10:23 am Page i Swe intro 900 12/10/99 10:23 am Page i Alla ršttigheter fšrbehœllna. Ingen del av detta dokument fœr reproduceras, lagras i ett Œtersškningssystem, eller pœ nœgot sštt eller i nœgon form šverfšras elektroniskt,

Läs mer

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018 Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design (DIT95) Niklas Broberg, 2018 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon

Läs mer

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02) UMEÅ UNIVERSITET Institutionen för datavetenskap Thomas Johansson Oktober 1998 Programutveckling med Java Development Kit (JDK 1.1.x) och Programmers File Editor (PFE 7.02) Umeå universitet 901 87 Umeå.

Läs mer

F RMEDLARANSVAR INTERNET

F RMEDLARANSVAR INTERNET Juridiska institutionen Handelshšgskolan vid Gšteborgs Universitet JURIS KANDIDAT PROGRAMMET TillŠmpade studier, 20 pošng HT 2000 F RMEDLARANSVAR P INTERNET Marie NorŽn, Malin Svensson. Handledare: Professor

Läs mer

Störningsupplevelse av buller i klassrum

Störningsupplevelse av buller i klassrum 1997:21 Störningsupplevelse av buller i klassrum Pär Lundquist Kjell Holmberg arbetslivsrapport ISSN 1401-2928 Enheten för fysiologi och teknik Bitr enhetschef: Ulf Landström a Fšrord 1991 utvidgades Arbetsmiljšlagen

Läs mer

Friskrivningsklausuler En jšmfšrelse av svensk och italiensk rštt

Friskrivningsklausuler En jšmfšrelse av svensk och italiensk rštt Friskrivningsklausuler En jšmfšrelse av svensk och italiensk rštt Handledare: Professor Christina Hultmark Fšrfattare: Marcus Pinzani 731017-4714 Handelshšgskolan vid Gšteborgs Universitet TillŠmparuppsats

Läs mer

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel

Kort repetition. Programmeringsteknik för Bio1 och I1. Vad ska vi lära oss idag? Ett exempel Programmeringsteknik för Bio1 och I1 Övning 2 Kort repetition Övningsgrupp 3 (Sal E33) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1310/

Läs mer

Principskiss av vingbalk

Principskiss av vingbalk Subtask nr 6 Principskiss av vingbalk Ett berškningsprogram fšr bestšmning av lšmplig hœllfasthet fšr en balk vid givna laster. av m98_asa t98_haa Sammanfattning Vi har tagit fram ett program som beršknar

Läs mer

EgenmŠktighet med barn

EgenmŠktighet med barn Handelshšgskolan vid Gšteborgs Universitet Juridiska institutionen EgenmŠktighet med barn - en studie av 7 kap 4 brottsbalken Uppsats fšr tillšmpade studier pœ jur kand-programmet, 20 p Ht 1999 Fšrfattare:

Läs mer

Konkursbos ansvar fšr konkursgšldenšrens miljšfarliga verksamhet

Konkursbos ansvar fšr konkursgšldenšrens miljšfarliga verksamhet Handelshšgskolan vid Gšteborgs Universitet Juridiska institutionen TillŠmpade Studier, 20 p Handledare: Jenny Peters VT 1999 Konkursbos ansvar fšr konkursgšldenšrens miljšfarliga verksamhet Koceva Pauline

Läs mer

1 Programmering i Java. Program element - Introduktion. Exempel. Exempel. Kapitel 3:

1 Programmering i Java. Program element - Introduktion. Exempel. Exempel. Kapitel 3: Program element - Introduktion : Ð data typer Ð variabler Ð operatorer och uttryck Ð val och loopar Ð input och output 1 2 import java.io.*; class Addition //===========================================================

Läs mer

Laboration 10 - NetBeans

Laboration 10 - NetBeans Laboration 10 - NetBeans Avsikten med laborationen är att du ska träna på att använda paket, att du ska packa några klassfiler i en jar-fil och slutligen använda innehållet i en jar-fil från en annan klass

Läs mer

Auktioner pœ Internet

Auktioner pœ Internet Juridiska Institutionen Handelshšgskolan vid Gšteborgs Universitet Uppsats fšr tillšmpade studier pœ jur kand-programmet Auktioner pœ Internet Fšrfattare: Charlotta Hederstršm Handledare: Christina Hultmark

Läs mer

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse Verktyg och Utvecklingsmiljö Föreläsning 2 Eclipse Verktyg Modern programutveckling innebär att man måste behärska ett antal verktyg. Editorer Kompilatorer Avlusare(debugger) Versionshantering(kommer i

Läs mer

Java, klasser, objekt (Skansholm: Kapitel 2)

Java, klasser, objekt (Skansholm: Kapitel 2) Java, klasser, objekt (Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Objectorienterad programmering Sida 1 Vad är en klass? En klass är ett sätt att beskriva en mängd objekt och deras gemensamma

Läs mer

2 Eclipse en handledning

2 Eclipse en handledning 2 Eclipse en handledning Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på: http://www.eclipse.org http://help.eclipse.org http://www.eclipse.org/downloads/

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

WIPO:s tvistlšsningssystem fšr tvister gšllande

WIPO:s tvistlšsningssystem fšr tvister gšllande Juridiska institutionen Handelshšgskolan vid Gšteborgs Universitet TillŠmpade studier 20 pošng, VT 2000 WIPO:s tvistlšsningssystem fšr tvister gšllande domšnnamnsstšlder Isabelle Nugin 740117-4888 Handledare

Läs mer

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C. Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett

Läs mer

Hinder och ŒtgŠrder fšr kvinnans tillgœng till ršttssystemet

Hinder och ŒtgŠrder fšr kvinnans tillgœng till ršttssystemet Hinder och ŒtgŠrder fšr kvinnans tillgœng till ršttssystemet Kerstin Webmark Juridiska institutionen Gšteborgs Universitet TillŠmpade studier 10 p Jur. Kand.-programmet HT 99 Handledare Eva-Maria Svensson

Läs mer

StrategifšrŠndring vid en bšrsintroduktion

StrategifšrŠndring vid en bšrsintroduktion Magisteruppsats i fšretagsekonomi 2000/11 StrategifšrŠndring vid en bšrsintroduktion Johan KindŽn Mikael Smith Avdelning, Institution Division, Department Ekonomiska Institutionen 581 83 LINKÖPING Datum

Läs mer

Lennart Carlssons svenska šversšttning av. Material fšr arbetsseminariet i Stockholm 13.1.1998. samt

Lennart Carlssons svenska šversšttning av. Material fšr arbetsseminariet i Stockholm 13.1.1998. samt Lennart Carlssons svenska šversšttning av Win -lose and Win -win Interactions and Organisational Responses to Scarcity Galvin Whitaker Material fšr arbetsseminariet i Stockholm 13.1.1998 Om konsten att

Läs mer

Lšnekostnader i fœmansfšretag

Lšnekostnader i fœmansfšretag HANDELSH GSKOLAN vid G TEBORGS UNIVERSITET Juridiska institutionen Lšnekostnader i fœmansfšretag - en skattelšttande faktor fšr delšgare - Jur. kand. programmet TillŠmpade studier 20 pošng Hšstterminen

Läs mer

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser Föreläsning 5-6 Innehåll Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,

Läs mer

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... }

Arv: Fordonsexempel. Arv. Arv: fordonsexempel (forts) Arv: Ett exempel. En klassdefinition class A extends B {... } En klassdefinition class A extends B {... Arv definierar en klass A som ärver av B. Klassen A ärver alla fält och metoder som är definierade för B. A är en subklass till B. B är en superklass till A. class

Läs mer

Rehabmodul AB. Bruksanvisning. SvensksprŒkiga versionen

Rehabmodul AB. Bruksanvisning. SvensksprŒkiga versionen Bruksanvisning verlšggsmakarenª SvensksprŒkiga versionen Fšr anvšndning i IBM PC och kompatibla datorer med Windows 95/98/NT4 och Apple Macintosh datorer med MacOS 7.1 eller senare Rehabmodul AB Box 2072,

Läs mer

Föreläsning 5-6 Innehåll

Föreläsning 5-6 Innehåll Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]

Läs mer

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten? Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312

Läs mer

GrŠnsdragningen mellan ršnta och kapitalvinst Mot bakgrund av R 1995 ref 71 och R 1997 ref 44 Per-Arvid Gustafsson

GrŠnsdragningen mellan ršnta och kapitalvinst Mot bakgrund av R 1995 ref 71 och R 1997 ref 44 Per-Arvid Gustafsson Juridiska institutionen, Handelshšgskolan Gšteborgs universitet Uppsats fšr tillšmpade studier 20 p Programmet fšr Jur. kand. examen Handledare: Robert PŒhlsson GrŠnsdragningen mellan ršnta och kapitalvinst

Läs mer

PROGRAMMERINGSTEKNIK TIN212

PROGRAMMERINGSTEKNIK TIN212 Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Robin Adams Göteborg 8 June 2018 PROGRAMMERINGSTEKNIK TIN212 Dag: Fredag Datum:

Läs mer

Eclipse en handledning

Eclipse en handledning LUNDS TEKNISKA HÖGSKOLA VT 2014 Institutionen för datavetenskap Eclipse en handledning 1 Inledning Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information

Läs mer

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv

Läs mer

Öka säkerheten med hjälp av olycksfall

Öka säkerheten med hjälp av olycksfall 1998:1 Öka säkerheten med hjälp av olycksfall ett verktyg för informationshantering och dess tillkomst Elisabeth Åberg Tomas Backström Marianne Döös arbetslivsrapport ISSN 1401-2928 Enheten för arbetsorganisation

Läs mer

Varfšr ett profilprogram?

Varfšr ett profilprogram? Profilprogram Varfšr ett profilprogram? Det ska finnas en tydlig intern profil fšr den kommunala organisationen. Denna profil ingœr som en del i ÓStrategi fšr Melleruds kommunó. Melleruds kommuns profil

Läs mer

SKADEST ND ENLIGT LAG OM OFFENTLIG UPPHANDLING

SKADEST ND ENLIGT LAG OM OFFENTLIG UPPHANDLING SKADEST ND ENLIGT LAG OM OFFENTLIG UPPHANDLING - nœgot om praktiska effekter fšr kommuner, kommunala bolag och fšrsškringsgivare. Fšrfattare: Klas Jonsson TillŠmpade studier 20 pošng vid programmet fšr

Läs mer

Informationsförsörjning för nya högskolor

Informationsförsörjning för nya högskolor Informationsförsörjning för nya högskolor En modell för Helsingborgs högskolefilial. Anne Mobark Kersti Pullerits Examensarbete (20 poäng) för magisterexamen i Biblioteks- och informationsvetenskap vid

Läs mer

TESAURUSKONSTRUKTION I ÄMNET LANDSKAPSPLANERING

TESAURUSKONSTRUKTION I ÄMNET LANDSKAPSPLANERING TESAURUSKONSTRUKTION I ÄMNET LANDSKAPSPLANERING Karin Andersson Carina Celiné Peters Examensarbete (20 poäng) för magisterexamen i Biblioteks- och informationsvetenskap vid Lunds universitet. Handledare:

Läs mer

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar

Läs mer

Svenska. Tryckt på återvunnet papper

Svenska. Tryckt på återvunnet papper Alla ršttigheter fšrbehœllna. Ingen del av detta dokument fœr reproduceras, lagras i ett Œtersškningssystem, eller pœ nœgot sštt eller i nœgon form šverfšras elektroniskt, mekaniskt, genom fotokopiering,

Läs mer

Maj 2000. Sofia Kolmodin

Maj 2000. Sofia Kolmodin Fšrord Under hšsten 1999 besškte jag en av de informationskvšllar som skattemyndigheten anordnar fšr att informera om ideella fšreningar. I samband med fšredraget gavs tillfšlle fšr besškarna att stšlla

Läs mer

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016

Static vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016 Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design Alex Gerdes, 2016 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon tripoly =

Läs mer

Laboration 10 - Eclipse

Laboration 10 - Eclipse Laboration 10 - Eclipse Avsikten med laborationen är att du ska träna på att använda paket, att du ska packa några klassfiler i en jar-fil och slutligen använda innehållet i en jar-fil från en annan klass

Läs mer

I vems intresse? Programmet fšr Juris kandidat-examen/ Fšretags- och Fšrvaltningsjuridisk linje. TillŠmpade studier 10 p.

I vems intresse? Programmet fšr Juris kandidat-examen/ Fšretags- och Fšrvaltningsjuridisk linje. TillŠmpade studier 10 p. Juridiska institutionen Handelshšgskolan vid Gšteborgs universitet Programmet fšr Juris kandidat-examen/ Fšretags- och Fšrvaltningsjuridisk linje TillŠmpade studier 10 p. VT Œr 2000 Kreditpršvning I vems

Läs mer

R 1998 ref 58 I-III ršrande finansiell leasing Ð en analys och kommentar ur inkomstskatteršttsligt perspektiv

R 1998 ref 58 I-III ršrande finansiell leasing Ð en analys och kommentar ur inkomstskatteršttsligt perspektiv Juridiska institutionen Handelshšgskolan vid Gšteborgs universitet Juris kandidat-programmet TillŠmparuppsats, 20 pošng HT 1999/2000 R 1998 ref 58 I-III ršrande finansiell leasing Ð en analys och kommentar

Läs mer