Föreläsning 9: Projektintroduktion, programmeringsmetod, samt att skapa körbara program och dokumentation
|
|
- Elsa Lundström
- för 6 år sedan
- Visningar:
Transkript
1 Föreläsning 9: Projektintroduktion, programmeringsmetod, samt att skapa körbara program och dokumentation Eva Blomqvist Linköpings universitet Sweden December 4,
2 Innehåll Information om projektet OO-analys och design Dokumentera kod Javadoc Skapa körbara filer December 4,
3 Projekt December 4,
4 Varför projekt? Ett mellanting mellan ett "verkligt" utvecklingsprojekt och en labb Ni är inte riktigt mogna för att skapa ett helt eget program efter en egen idé - det blir lätt för svårt...samtidigt ska den här kursen ge er en första inblick i hela processen, från krav till färdigt program (även fast vi hoppar över många viktiga steg, t ex systematisk testning) Projektet i kursen Lite större uppgift Ni jobbar med samma problem i ca 8 veckor Ni designar systemet och skriver koden - men kraven finns färdiga och handledarna styr er i rätt riktning December 4,
5 Hur går det till? Ni väljer en uppgift Banken Biblioteket Gymmet Ni får en kravspecifikation för systemet + datafiler och ett kodskelett för att komma igång med inläsning från fil Ni analyserar kraven och designar systemet (på papper) Ni implementerar (och testar) systemet Ni dokumenterar systemet Ni demonstrerar den färdiga lösningen för handledaren Ni lämnar in kod + dokumentation + rapport December 4, Analys och design: 17/1 Inläsning från fil: 31/1 Demo + inlämning: 21/2
6 Projektet - examination Tre obligatoriska handledarmöten Diskutera er design (= systemet på papper, lista på klasser med variabler och metoder osv) - senast 17/1 (rekommenderat: innan jul!) Diskussion inte "examen" - handledaren kommer hjälpa er komma på rätt spår Diskutera er lösning för inläsning från fil och hur ni skapar och hanterar de nya objekten (= alla klasser skapade, vissa kommer inte ha något "innehåll", inläsning och instansiering fungerar) - senast 31/1 (rekommenderat: v. 3-4) Diskussion inte "examen" - handledaren kommer hjälpa er komma på rätt spår Demonstrera färdig lösning - senast 21/2 Examination - allt ska fungera, testa i förväg OBS! Båda i gruppen måste närvara och båda i gruppen måste kunna svara på frågor och beskriva vad ni har gjort! December 4,
7 Projektet - examination (forts.) Betyget på projektet avgör slutbetyget i kursen OBS! Ni måste dessutom ha uppfyllt alla deadlines i både labbkursen och projektet och klarat duggorna, för att kunna få VG Ni väljer själva ambitionsnivå i projektet - G resp. VG-krav Godkänt Systemet uppfyller alla grundläggande krav (G-krav) i kravspecen Ni demonstrerar ert projekt och lämnar in innan sista kompletteringsdeadline 28/3 - handledaren godkänner Väl godkänt Systemet uppfyller alla G-krav + ett av VG-alternativen GUI eller databaskoppling eller 4 extra krav Ni har haft alla möten innan deadline och lämnat in er lösning innan 21/2 Komplettering fortfarande ok fram till 28/3 December 4,
8 Projekt - att tänka på Börja i tid! Ni hinner inte om ni fokuserar först på labbarna och sedan projektet - ni måste jobba parallellt Sikta på de rekommenderade tiderna för handledarmöten snarare än deadlines ER handledare är där för att hjälpa er komma vidare! Handledarna prioriterar frågor om labbarna fram till 31/1 Boka tid för möten utanför labbtid med ER handledare Tänk på att ni även ska lämna in rapporten 21/2 - börja skriv den i god tid Det är ok att dela upp uppgiften mellan er, men......båda måste kunna förklara hela lösningen för handledaren Kommentera koden noga! Är "alla" lösningar godkända? Nej, ni måste tillämpa det vi lärt oss i kursen: OO-principer, tex inkapsling mm, dela upp kod i metoder, felhantering och test, dokumentation både i koden och som Javadoc + rapport Även om ni tänker satsa på VG - börja med att lösa alla grundläggande krav, så att ni vet att ni är klara med nivån för G innan ni lägger för mycket tid på VG-kraven December 4,
9 Projektet - hur kommer vi igång? Analysera kraven och designa ert system Skriv ner några scenarion som ert system ska kunna hantera i form av små "berättelser" Vilka klasser ska vi ha? Vilka variabler och metoder har varje klass? Hur använder klasserna varandra? Så snart ni är klara (senast 17/1) visa upp för handledaren och diskutera... Era scenariobeskrivningar Ert detaljerade klassdiagram Om ni siktar på VG: vilket alternativ ni har valt och varför Börja inte programmera förrän handledaren tittat på er design om ni är osäkra på om er lösning är rimlig! December 4,
10 Objektorienterad analys och design December 4,
11 Objektorienterade system (rep.) Ett system där varje komponent representerar ett väldefinierat begrepp I första hand begrepp som har en motsvarighet i verkligheten, såsom personer, varor, bankkonton osv. I andra hand implementationsbegrepp, såsom databaser, fönster, mängder osv. Exempel: en flygplats Komponenter (objekt)? Flygplan Terminaler Start- och landningsbanor Objekten har värden på vissa attribut och beskrivna beteenden Flygplanet har värden såsom hastighet, antal säten osv. Flygplanet har beteenden, t ex om ett plan ska starta måste det få veta vilken start/landningsbana som ska användas, och när starten är genomförd kommer planet vara på en viss höjd och ha en viss hastighet December 4,
12 Objektorienterad analys (rep.) Analys? - kravanalys Görs tidigt när man börjar planera ett system Bör utgå från en given kravspecifikation Krav = vad systemet ska klara av (men inte hur det ska göra det) Studera objekten i verksamheten som vi vill bygga ett system för Vilka objekt (objekttyper) finns? Vilka är relevanta för kraven på vårt system? Vad har de för egenskaper? Vilka beteenden uppvisar objekten och som måste återspeglas i systemet? I vilka scenarion kommer de olika objekten användas? Mål Förståelse för vad systemet ska utföra och områdets terminologi Skapa en "analysmodell" som underlag för designfasen December 4,
13 Objektorienterad design (rep.) Design? Baserat på analysmodellen behöver vi nu anpassa den till något vi faktiska kan implementera som ett system Anpassning till en målmiljö - var ska systemet köras? Vilka resurser finns? Vilka existerande program måste vi ta hänsyn till? Operativsystem? Programmeringsspråk? Systemarkitektur Detaljerad beskrivning av objekten och deras relationer Studera objekten i analysmodellen och deras relationer i olika scenarion Vilka (data) värden ska representera objektens attribut? Hur ska beteenden fördelas över olika metoder? Hur ser varje objekts gränssnitt ut gentemot andra objekt? Kan vi specialisera eller generalisera vissa objekt? Hur ska objekten interagera med varandra i olika scenarion? Mål Förståelse för vilka anpassningar som måste göras för den specifika miljön Skapa en systemarkitektur och detaljerad design av systemets alla objekt December 4,
14 Objektorienterad programmering (rep.) Implementation Baserat på den detaljerade designen behöver vi nu skriva koden för alla objekt vi behöver Mål Huvudprogrammet Alla klasser, deras datavärden och deras metoder Skapa ett körbart system som motsvarar vår detaljerade design och uppfyller alla de kvar vi hade i vår kravspecifikation OBS! Det är inte nödvändigtvis så att dessa "steg" görs ett och ett efter varandra för ett helt system (det kallas för en "vattenfallsmodell"), mer vanligt nuförtiden är agila metoder - men stegen i sig finns kvar! December 4,
15 Exempel - Antispinnsystem Ett system för att upptäcka och åtgärda en potentiellt farlig situation Upptäcks genom att jämföra julens hastighet med varandra Liten skillnad: vi svänger Stor skillnad: hjul spinner Åtgärder Reglerar hjulens hastighet individuellt December 4,
16 Exempel - Antispinnsystem (forts) Objektorienterad analys Vilka objekt finns? - Hjul, motor, bromsar, styrsystemet Vilka egenskaper har de? Hjulen - hastighet Motorn - drivkraft/hjul Bromsar - bromskraft Styrsystemet - hjul/broms-par, status (normal/spinner) för hjulen Vilka beteenden (metoder) kan objekten behöva ha? Hjulen - fråga efter hastigheten Motorn - fråga efter aktuell drivkraft/hjul, ändra drivkraft för ett hjul Bromsar - fråga efter bromskraft för en broms, ändra bromskraft Styrsystemet - fråga efter vilken broms som hör till vilket hjul, fråga efter status för ett visst hjul, rätta till status för ett visst hjul December 4,
17 Exempel - Antispinnsystem (forts) Motor Hjul 1 Styrsystem Broms 1 December 4,
18 Exempel - Antispinnsystem (forts) Scenarion - exempel på hur objekten arbetar tillsammans Scenario - ett hjul börjar spinna Ett hjul börjar spinna Styrsystemet beräknar med jämna mellanrum status för varje hjul och frågar då efter farten för respektive hjul Styrsystemet upptäcker att ett hjul spinner och instruerar motorn att sänka drivkraften på det hjulet och bromsen att bromsa det hjulet När status är ok igen instrueras motorn att gå tillbaka till samma drivkraft och bromsen till samma bromskraft som tidigare Vad innebär det för interaktioner mellan objekten? 1. Styrsystemet frågar efter hjulens fart 2. Hjulen svarar med sin aktuella fart 3. Styrsystemet meddelar motorn en viss drivkraft för ett visst hjul 4. Styrsystemet meddelar en viss broms en viss bromskraft 5. Styrsystemet frågar efter hjulets fart igen 6. Hjulet svarar med sin aktuella fart 7. Styrsystemet meddelar motorn att återgå till tidigare drivkraft för hjulet 8. Styrsystemet meddelar bromsen att återgå till tidigare bromskraft December 4,
19 Exempel - Antispinnsystem (forts) Motor 1. (x4) 2. (x4) Hjul Styrsystem Broms 1 December 4,
20 Exempel - Antispinnsystem (forts) Tidsdiagram Styrsystemet Hjul 1 Hjul 2 Hjul 3 Hjul 4 Motor Broms 1 Tid December 4,
21 Exempel - Antispinnsystem (forts) Klassdiagram namn Motor drivkraft/hjul sätt ny aktuell drivkraft på ett hjul tillstånd beteende Hjul hastighet ge aktuell hastighet Styrsystem status för hjul broms-hjul par Broms bromskraft sätt ny aktuell bromskraft December 4, "använder"
22 Exempel - Antispinnsystem (forts) Beskrivning av varje klass Hjul Broms Ett hjul ansvarar för att hålla reda på sin egen hastighet och kunna rapportera denna hastighet till andra objekt som frågar En broms ansvarar för att hålla reda på den bromskraft som just nu appliceras på ett visst hjul och rapportera den bromskraften till andra objekt som frågar, samt ändra bromskraften till ett nytt värde om något annat objekt begär det Motor Motorn ansvarar för att hålla reda på hur mycket motorkraft som går till vardera hjulet och kunna rapportera den drivkraften till andra objekt som frågar, samt ändra drivkraften för ett visst hjul till ett nytt värde om något annat objekt begär det Styrsystem Styrsystemet ansvarar för att periodiskt kontrollera statusen på alla hjulen och om något hjul börjat spinna (har mycket större hastighet än de andra) åtgärda detta genom att ge motorn instruktion att minska drivkraften på hjulet och bromsen instruktion att bromsa hjulet. När hjulets fart är lika med de andra hjulens ska motorn och bromsen instrueras att återgå till tidigare värden. December 4,
23 Objektorienterad design - forts. på exemplet klassnamn Motor double kraft set(int hjulid, double nykraft) variabler metoder Hjul double hastighet gethastighet() Styrsystem boolean[] status HashMap hjulpar Broms double kraft set(double) December 4, "använder"
24 Objektorienterad design - annat att tänka på Arv och användning av klassbibliotek Kan vi specialisera/generalisera våra klasser för att effektivisera implementationen? Finns des klasser i Javas standardbibliotek jag kan återanvända direkt eller specialisera? Hjälpklasser Grafiskt gränssnitt? In- och utmatning? Ex: en lampa ska blinka när styrsystemet har upptäckt att ett hjul spinner - vi kan lägga till en klass för att hantera detta gränssnitt Huvudprogrammet "Startar" programmet "hönan och ägget" - någon måste skapa klasserna och ge dem inititala värden innan de kan användas! Designbeslut: skapar huvudprogrammet alla klasser och håller reda på dem? Eller skapar huvudprogrammet bara en klass som sedan skapar och styr resten? December 4,
25 Programmeringsmetod (rep.) Vi har tidigare sett ett par sätt att jobba med sjävla koden... När vi har bestämt oss för vilka klasser vi ska ha, deras variabler och metoder, så kan vi börja skriva pseudokod för metoderna Kom ihåg (Fö 6 - avsnittet om "programmeringsmetod" ): pseudokod = beskriv först i "text" algoritmen för programmet utan att bry dig om Java-syntax När ni ska skriva en "stor" main-metod, eller annat stort kodblock, strunta först i detaljerna - dölj dem bakom metoder Kom ihåg (Fö 5 - avsnittet "att jobba med metoder"): börja planera strukturen på programmet genom att skapa "tomma metoder" som du sedan fyller på med kod efter hand December 4,
26 Dokumentation - Javadoc December 4,
27 Vad är Javadoc och hur funkar det? Javadoc är ett speciellt verktyg för att generera dokumentation i form av HTML-sidor baserat på speciella kommentarer i koden Ni har läst HTML-sidorna för standardbiblioteket som genererats genom Javadoc! Används för API-dokumentation Kom ihåg: API = application programming interface Någon annan vill återanvända dina klasser - internt i ett projekt eller externt (finns många återanvändbara API:er på webben) Ni kommer stöta på ett API i labb 7 Beskriver främst det publika gränssnittet till din kod - dvs de klasser och metoder som andra kan använda/anropa utifrån Vi kommer generera dokumentation från källkodsfiler, finns även andra filtyper, t ex paketdokumentation December 4,
28 Vad är Javadoc och hur funkar det? Hur funkar det? Vi skriver kommentarer i källkodsfilerna enligt en speciell syntax (ett speciellt format) Vi kör verktyget (programmet) Javadoc med våra filer (projektet som innehåller källkodsfilerna) som indata Ni kan köra det direkt inifrån Eclipse Markera ditt projekt, och välj "Generate Javadoc" från Project-menyn. I dialogrutan kan du välja vilka delar av koden som ska inkluderas (endast publika klasser/variabler/metoder eller alla osv) samt var resultatet ska sparas. Klicka på "Finish". Ni hittar sidorna i en ny katalog "doc" - index.html är startsidan Kan även köras från ett terminalfönster med kommandot "javadoc" Resultatet blir ett antal HTML-filer som vi kan titta på i en webbrowser December 4,
29 I källkodsfilerna Inkludera en Javadoc-formaterad kommentar åtminstone för varje publik (public) klass, instans- och klassvariabel, samt metod Kommentarerna ska innehålla HTML-kod (eller vanligt text) och vara formaterade enligt vissa regler (syntax) Exempel: /** * Method to get a character from a character string. * The method check that the given index is within the string * if the index is outside the string the null-character is returned, * else the character at the given index is returned. * <p> Uses the method charat(int index) from the class java.lang.string * s the string that contains the character we want to get i index of the character the character at the given index (or the null-character) */ public static char charat (String s, int i){ char nullchar = 0; if (i >= s.length() i < 0) return nullchar; else return s.charat(i); } 29
30 Syntax Kommentaren läggs alltid precis före respektive klass/ variabel/metod-deklaration Börja kommentaren med /** på en egen rad (OBS! 2x*) Börja varje rad därefter med * (för att visa att det är en kommentar - gör det mer lättläst) Skriv en beskrivning av klassen/variabeln/metoden som en HTML-text Första meningen kommer att användas för sammanfattningar, t ex i tabellen som visar alla metoder, så var noga med att första meningen kan läsas ensam och att den berättar vad klassen/variabeln/metoden är till för Inga tomma rader - använd <p> för nytt stycke Avsluta beskrivningen med en blank rad (bara * i början) Lista de "taggar" du vill använda och deras text Avsluta med */ på en egen rad (OBS! 1x*) December 4,
31 Syntax (forts.) Taggar - börjar alltid Vem som har skrivit koden (inkluderas oftast inte i HTML-sidan, syns bara i koden) Beskrivning av parameter för metod Skriv först namnet på parametern, sen beskrivningen Inkludera en för varje parameter som metoden har Beskrivning av returvärde Inkludera för alla metoder som inte är konstruktorer eller har returtyp void Beskriv vilka undantag som kan kastas Inkludera om metoden deklarerats kasta undantag (...throws i metodhuvudet) kan man inkludera länkar till andra sidor i dokumentationen eller till externa webbsidor Kommentarer på svenska kan få fel teckenkodning när HTML-sidorna genereras, använd kommentarer på engelska December 4,
32 package mittpaket.strang; /** * The class Teckenstrang is used to handle strings of characters. * The class has one public method that uses methods from * java.lang.string to implement certain functionality * Eva Blomqvist */ public class Teckenstrang { /** * Method to get a character from a character string. * The method check that the given index is within the string * if the index is outside the string the null-character is returned, * else the character at the given index is returned. * <p> Uses the method charat(int index) from the class java.lang.string * s the string that contains the character we want to get i index of the character the character at the given index (or the null-character) */ public static char charat (String s, int i){ char nullchar = 0; /* * */ if (i >= s.length() i < 0) return nullchar; else return s.charat(i); } } 32
33
34 Körbara filer December 4,
35 Att kompilera och "förpacka" sin kod En användare vill inte köra ett program inifrån Eclipse! En användare vill dubbelklicka på en fil, eller möjligen skriva ett kommando i terminalfönstret Vi har flera olika valmöjligheter Köra vårt program genom att skriva "java MittProgram" i ett terminalfönster - kom ihåg en av de allra första föreläsningarna Vi har i förväg kompilerat programmet och det som körs är.class-filen Hur ska användaren veta vad som ska köras om det finns många.class-filer - dvs många klasser i vårt program? Vi kan "samla ihop och förpacka" våra kompilerade klassfiler i en JAR-fil (JAR = Java Archive) - t ex filen MittProgram.jar Vi skriver istället "java -jar MittProgram.jar" i terminalfönstret December 4,
36 Att kompilera och "förpacka" sin kod (forts.) Men om vi vill att användaren bara ska kunna dubbelklicka på filen? Skapa en "runnable JAR" (fungerar om operativsystemet har den funktionen - ok för Windows, Mac mfl), inkluderar information till operativsystemet om vilken.class-fil som innehåller main-metoden Kompilera och förpacka programmet specifikt för ett visst operativsystem December 4,
37 Hur skapar vi en JAR-fil eller en "runnable JAR" i Eclipse? Markera ditt projekt, högerklicka och välj "Export" Under "Java" finns tre alternativ JAR file Javadoc Runnable JAR file Välj "Runnable JAR file" och "Next" Under "launch configuration" måste du markera den klass som innehåller din main-metod, dvs där programmet ska starta när man dubbelklickar på JARfilen (eller skriver java -jar... i terminalfönstret) Under "Export destination" måste du ange var filen ska sparas och vad den ska heta (ändelse:.jar) Avsluta med "Finish" December 4,
38 Sammanfattning Information om projektet Välj projektuppgift: Banken, Biblioteket eller Gymmet Sätt igång direkt med analys och design - Helst möte med handeldaren redan före jul! OO-analys och design - innan du börjar skriva kod! Skriv scenarion Lista klasser och vilka egenskaper och beteenden de ska ha Hur löser klasserna gemensamt ett scenario? - rita! Gör detaljerade beskrivningar av varje klass: namn, variabler (inkl. typ) och metoder (inkl. parametrar och returtyp) Javadoc - ett sätt att dokumentera sina klasser Runnable JAR - ett sätt att "förpacka" ett körbart program December 4,
39 December 4,
Projektuppgift - Gymmet
Projektuppgift - Gymmet 2013 1. Projekt - syfte, instruktioner och uppgift Syftet med den här projektuppgiften är att ni nu ska tillämpa allt det ni har lärt er i kursens två labbdelar, dvs både kunskaper
Projektuppgift - Biblioteket
Projektuppgift - Biblioteket 2013 1. Projekt - syfte, instruktioner och uppgift Syftet med den här projektuppgiften är att ni nu ska tillämpa allt det ni har lärt er i kursens två labbdelar, dvs både kunskaper
Föreläsning 7: Objektorienterad programmering - introduktion
Föreläsning 7: Objektorienterad programmering - introduktion Eva Blomqvist eva.blomqvist@liu.se Linköpings universitet Sweden December 1, 2013 1 Innehåll Del 2 i kursen Objektorientering - vad är det?
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat
Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta
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
Projektuppgift - Banken
Projektuppgift - Banken 2013 1. Projekt - syfte, instruktioner och uppgift Syftet med den här projektuppgiften är att ni nu ska tillämpa allt det ni har lärt er i kursens två labbdelar, dvs både kunskaper
Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
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
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).
Stackar, köer, iteratorer och paket
Stackar, köer, iteratorer och paket Programmering för språkteknologer 2 Sara Stymne 2013-09-18 Idag Paket Stackar och köer Array resp länkad struktur Iteratorer Javadoc Kommentarer lab 1 Bra att de flesta
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).
Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Imperativ programmering. Föreläsning 4
Imperativ programmering 1DL126 3p Föreläsning 4 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering
Programmering för språkteknologer II, HT2011. Rum
Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Kursplan Mål Efter avslutad kurs skall studenten för att förtjäna betyget
Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:
(22 januari 2016 F2.1 ) Föreläsning 2 Täcker material från lektion 1, 2, 3 och 4: Datatyper Aritmetik Tecken och strängar Klasser, Objekt Metoder Villkor, villkorssatser och iterationer main-metoden Kodstandard
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/
Objektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.
Objektorienterad programmering E Telefonboken, än en gång Föreläsning 5 Wrapper classes Exempel, histogram. Inldening om undantag. Mer om klassen Påminnelse Vår senaste version bestod av två klasser, bägge
Att skriva till och läsa från terminalfönstret
Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen
2I1049 Föreläsning 9. Iterativ programutveckling. Iterativ programutveckling. Modularisering, återanvändning och JavaBeans
2I1049 Föreläsning 9 Modularisering, återanvändning och JavaBeans KTH-MI Peter Mozelius Iterativ programutveckling Iterativ utveckling evolutionär utveckling inkrementell utveckling Att bygga programmen
Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 18
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 18 Igår: Genomgång av dugga Rekursion Idag och på måndag: Om essän Lite, lite teori om konstanter Grafiska användargränssnitt Grundläggande
Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering!
Samlingar, Gränssitt och Programkonstruktion! Förelasning 11!! TDA540 Objektorienterad Programmering! Samlingar Vi kommer att behöva hantera samlingar av objekt - Har oftast använd Array (fält) - Bra om
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
Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1
Grundläggande programmering DVG A08 & ISG A04 Allmän information Grupp C och D slås ihop Schemat är ändrat Kurs i programmering utan förkunskaper Hjälp oss med detta Lita inte på era klasskamrater De ställer
TUTORIAL: SAMLING & KONSOLL
TUTORIAL: SAMLING & KONSOLL Denna tutorial är en fortsättning på den tutorial där vi skapade klassen Car och sedan objekt av denna klass. Vi skall nu lära oss att lagra dessa objekt i en samling och även
OOP F1:1. Föreläsning 1. Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning. Marie Olsson
OOP F1:1 Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första Java-program Variabler Tilldelning OOP Objekt-orienterad programmering Delkursansvarig: First Class-konferens: Kursens webbsidor:
Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik I 2011-03-17 Skrivtid: 1400-1700 Hjälpmedel: Java-bok Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift
Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-03-19 Skrivtid: 14:00 19:00 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion
DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/3 2014 Innehåll Kursöversikt Javarepetition/Javaintroduktion UML - klassdiagram-introduktion i anslutning till Java-exemplen Kursmål,
Tentamen i Grundläggande programmering STS, åk 1 fredag
Tentamen i Grundläggande programmering STS, åk 1 fredag 2003-05-23 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Anders besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka kl.
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
Uppgift: Algoritm för att beräkna kontrollsiffran i ett personnummer givet de 9 första siffrorna. Torrsimning av algoritm för personnummer
F6 Observera att när man utvecklar program så är inte alla lösningar på vägen korrekta. Speciellt den här gången så finns många OH med program som inte fungerar eftersom det är just det vi skall se på
Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 12 I torsdags: Klassen TelefonKostnad Exemplifierar objektorienterad design, metoder, konstruktorer static Standardklassen Math Matematiska
Innehåll. 5. More sophisticated behavior. Javas klassbibliotek. Arbete med klassbibliotek. A Technical Support System. Huvudloopens struktur
Objects First With Java A Practical Introduction Using BlueJ 5. More sophisticated behavior Innehåll Användning av bibliteksklasser Skriva och läsa dokumentation Biblioteksklasser för ökad funktionalitet
Kursplanering för EE3D i kursen Programmering 1, 100p.
Kursplanering för EE3D i kursen Programmering 1, 100p. Tidplan Kursstart 2013-08-22 - Kursslut 2014-06-03 Datum/Period Kursinnehåll/Moment Sidhänvisning Vecka 34 Kursintroduktion Vecka 35 Allmänt om Java,
Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2016-03-17 Skrivtid: 1400 1900 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo
729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt
Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal
Tentamen DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl 14.00 17.00 Hjälpmedel: penna, suddgummi, linjal Tentan har två delar om vardera 30 poäng Maximala betygsgränser (gränserna
TDDC77 Objektorienterad Programmering
TDDC77 Objektorienterad Programmering Föreläsning 2 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin, 2018 Outline Emacs Introduktion till Objektorienterad Programmering Introduktion till Java Variabler
Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel
Föreläsning 8 - del 1: Objektorienterad programmering (forts.) - Exempel Eva Blomqvist eva.blomqvist@liu.se Linköpings universitet Sweden December 1, 2013 1 Innehåll OO-programmering fortsättning Skapa
Tentamen ID1004 Objektorienterad programmering October 29, 2013
Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet
ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,
732G14 Programmering 2
732G14 Programmering 2 HT 2008 Inledning Denna kurs består av tre föreläsningar och en laborationskurs. Laborationskursen utgör hela examinationen av kursen och består av två laborationer. Den första laborationen
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
Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2
AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga
Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 14 I torsdags & fredags: arrayer Deklaration, initiering, åtkomst Arrayer är referenser Arrayer som parametrar och returvärden Exempel
Laboration 3, uppgift En klass för en räknare
Laboration 3, uppgift 1 3.1 En klass för en räknare Ursprungligen skriven av Erland Holmström. Magnus Myreen har uppdaterat vissa delar. Hösten 2014 Anvisningar: Programmet skall utformas enligt de principer
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
EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ
orienterad programmering Föreläsning 3 Exempel: Telefonboken Fält som funktionsresultat Exempel Definiera static double[] vectorsum(double[] a, double[] b) Betrakta sedan följande kodavsnitt:... double[]
Tentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och penna. Behandla
Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod
Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer
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
Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Laboration 1 - Grunderna för OOP i Java
Uppdaterad: 2006-08-31 Laboration 1 - Grunderna för OOP i Java Inledning Laborationen går ut på att lära sig grunderna för objektorienterad programmering, samt motsvarande språkkonstruktioner i Java. Labben
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
TDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av
Typkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då
Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34
Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger
Programmering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller
Design av en klass BankAccount som representerar ett bankkonto
Klasser Kommer ta upp följande begrepp: Design av en klass Implementera en klass Testa en klass med en mainmetod Instansvariabler, lokala variabler, formella parametrar, aktuella parametrar och variablers
Föreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter
Idag. statiska metoder och variabler. private/public/protected. final, abstrakta klasser, gränssnitt, delegering. wrapper classes
Idag statiska metoder och variabler private/public/protected final, abstrakta klasser, gränssnitt, delegering wrapper classes ett lite större exempel Objectorienterad programmering Sida 1 Vad vi vet om
Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016
Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar
TDDE10 TDDE11, 725G90. Gemensam kurswebsida på:
TDDE10 TDDE11, 725G90 Objektorienterad programmering i Java, Föreläsning 1 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av Java Hello World!
F6 Objektorienterad design. ID1004 Objektorienterad programmering Fredrik Kilander
F6 Objektorienterad design ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se långa ord AKTIVITETER I PROGRAMVARUUTVECKLING Iterativ utveckling Kravspecifikation Design Implementation Testning
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:
Tentamen. Programmeringsmetodik, KV: Java och OOP. 17 januari 2002
Pedher Johansson Institutionen för datavetenskap LÖSNINGSFÖRSLAG Lösningsförslag Tentamen Programmeringsmetodik, KV: Java och OOP 17 januari 2002 Uppgift 1 (20 p) Teoriuppgifter Resultat och uppgifter
TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3
TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 3 Laboration 3 Visualisering (och implementering) av sortering Exempel på grafik (med Swing-paketet) Frågor 1 Laboration 3 Visualisering
TDDE10 TDDE11, 725G90/1. Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 TDDE11, 725G90/1 Objektorienterad programmering i Java, Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Introduktion OOP Instanser, instansvariabler, instansmetoder
Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)
Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet
I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Objektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Objektorienterad programmering
Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad
Tentamen i TDP004 Objektorienterad Programmering Praktisk del
Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2011-04-28 Tid: 08-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 281456 Jourhavande kommer att besöka skrivsalarna ungefär
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
Denna vecka. Idag. Grafiskt användarsnitt. Vi kommer att se
1 F18-20-2006 Denna vecka Måndag: Ett komplext problem Tisdag: Lektion. Kväll: Essäfrågan distribueras via webben. Dead-line onsdag 17 maj, kl 12.00. Inlämning elektroniskt och på papper. Onsdag: Grafik
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
Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo
729G75: Programmering och algoritmiskt tänkande Tema 1, föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt
PROGRAMMERING. Ämnets syfte. Kurser i ämnet
PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration
Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.
Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen
Lab5 för prgmedcl04 Grafik
Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna
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
Föreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser
Föreläsning 8 Arv och abstrakta klasser Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen (extends) Den nya klassen behåller alla egenskaper som den gamla
Objektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016
Objektorienterad Programkonstruktion Föreläsning 3 7 nov 2016 Klass/instans Med hjälp av nyckelordet static kan vi bestämma att en metod eller ett fält ska tillhöra själva klassen i stället för en specifik
Java: kort introduktion. Trådar. Något om mutex, Dekkers algoritm och monitorer. Javas ("inbyggda monitor") synchronized.
2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ Java: kort introduktion. Trådar. Något om mutex, Dekkers algoritm och monitorer. Javas ("inbyggda monitor") synchronized. previous next Java Java är konstruerat på
2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik
2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det riktiga provet tar 45 minuter (en lektionstimme) och det
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
Föreläsning 3: Typomvandling, villkor och val, samt textsträngar
Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Konstruktorer Statiska metoder & attribut
Klasshierarkier - repetition
Klasshierarkier - repetition Klasser kan byggas på redan denierade klasser, egna och/eller färdigskrivna, genom: I att klassobjekt används som attribut (instansvariabler): har-relation. Exempel: traksystemet
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
Objektorienterad Programkonstruktion. Föreläsning 4 8 nov 2016
Objektorienterad Programkonstruktion Föreläsning 4 8 nov 2016 Nästade klasser I Java går det att deklarera en klass inuti en annan klass. Vi kallar detta för att en yttre klass innehåller en inre klass.
OOP Objekt-orienterad programmering
OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public
Översikt MERA JAVA OCH ECLIPSE. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning
Översikt Uttryck i tilldelningssatser Typer och typomvandling Klasser Metoder Konstanter Eclipse-tips MERA JAVA OCH ECLIPSE Institutionen för datavetenskap Programmering 1 Rita Kovordányi 2 public class
Inkapsling tumregler. Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler. public och private
Inkapsling tumregler Åtkomstmodifikatorer, instantiering, referenser, identitet och ekvivalens, samt klassvariabler Tobias Wrigstad (baserat på material från Tom Smedsaas) 5 november 2010 1. Man skall
Programmeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga