Refaktorisering och UML med Eclipse
|
|
- Anton Berg
- för 7 år sedan
- Visningar:
Transkript
1 1. Introduktion Refaktorisering och UML med Eclipse Eclipse är en utvecklingsmiljö för allehanda uppgifter. Den innehåller bland annat ett mycket kvalificerat stöd för programutveckling i Java. Den är särskilt lämplig för denna kurs eftersom det är lätt att göra designförändringar och det finns integrerade verktyg för design med UML. Eclipse är utformat som ett ramverk så att man enkelt kan lägga till ny funktionalitet med stickproppar (plug ins) som man kan hitta på nätet eller skriva själv. Propparna innehåller i regel kompilerade Java klasser som implementerar gränssnitt i ramverket. Det kommer löpande nya versioner av Eclipse och proppar som inte alltid fungerar tillsammans. Även Java miljön ingår i systemet som stickproppar. I denna laboration skall du använda en stickpropp för UML-modellering. Du kan även installera denna i Eclipse på din egen dator hemma. 2. Installation i C524 och hemma Det finns många Eclipse-baserade verktyg för att modellera med UML, se t.ex. Beskrivningen i detta dokument använder Papyrus Papyrus stöder UML och erbjuder möjlighet att grafiskt editera olika typer av UML-diagram. I den här laborationen kommer vi främst att titta på klassdiagram och utifrån dessa generera Javakod och omvänt generera klassdiagram utifrån Javakod. Det räcker för användning i denna kurs. Det är tillåtet att använda valfritt datorbaserat verktyg för att producera UML-diagram. Till exempel kan du titta på umletino eller community-versionen av Visual Paradigm. Båda dessa verktyg tillhandahåller också UML-modellering. De saknar dock kodgenerering till Java. Har du synpunkter på Papyrus eller hittar något annat verktyg som är riktig bra får du gärna tipsa oss. För att kunna använda UML-verktyget behöver du konfigurera Eclipse. I studentsal C524 är denna konfiguration redan genomförd. Hemma kan du följa nedanstående beskrivning för installation på din egen dator. Jag utgår från att du har Eclipse (Mars) installerad. Under menyalternativet Help->Install new software skall du lägga till två sajter (enklast via Addknappen): Papyrus uppdateringssajt QVTO updateringssajt - Installera först allt under papyrus sajt och därefter allt under QVTO. Starta om eclipse. 3. Först lite om Eclipse 1. Java-editorn Standard-editorn för Java kan väldigt mycket om språket och rapporterar hela tiden fel och är beredd att hjälpa till på olika sätt. Fel markeras med vågstrecksunderstrykning och ett erbjudande om hjälp indikeras med en liten glödlampa i vänsterkanten. Om man skriver början på ett reserverat ord eller ett namn och därefter CTRL-mellanslag så kommer editorn att föreslå ett antal alternativ. Efter wh ges fyra alternativ för while-satser och några klassnamn som du förmodligen inte hört talas om. Genom att flytta sig till alternativen kan man få se hur Eclipse kommer att komplettera. Man accepterar med return eller dubbelklick. Editorn känner också till namn på dina egna variabler, metoder och klasser. 1
2 Man kan skriva main och få en hel main-metod och sysout för System.out.println(). Mallarna finns i Eclipse -> Inställningar -> Java -> Editor -> Templates där man själv kan modifiera och lägga till. När man skriver en punkt efter ett objektnamn erbjuds också ett antal alternativ. Antalet reduceras allteftersom man skriver vidare. Om man skriver x=1; utan att ha deklarerat x visar editorn en liten lampa som erbjuder att deklarera en lokal variabel, lägga till ett attribut eller en parameter. När lampan är dekorerad med ett litet kryss finns det fel som måste åtgärdas. Ett utropstecken betyder ofta att något är onödigt och kan tas bort utan att programmets funktionalitet förändras. Genom att klicka på lampan kan man ofta få upp förslag på åtgärder. 2. Menyer och genvägar Det finns ofta flera sätt att anropa en operation. De flesta operationerna kan nås via huvudmenyerna, File, Edit, etc. Många av operationerna förutsätter att man markerat det element som skall påverkas. Om man inte gjort kan alternativet vara nedtonat eller saknas. En del operationer har egna ikoner under raden med huvudmenyer. Editorer och vyer har ofta egna verktygsikoner. Genom att högerklicka på ett element öppnar man elementets kontextmeny. Om man vill att operationen skall gälla alla element i editorn skall man se till att inget element är markerat och högerklicka i bakgrunden. En del kommandon har tangentbordsgenvägar. Sådana syns till höger i vanliga menyer. Mycket går att konfigurera efter eget tycke, t ex via Eclipse -> Inställningar -> General ->Keys.... Inställningar kan sparas, exporteras och importeras. 3. Source-menyn Med Source -> Format formateras programmet så att indenteringen, inskjutna mellanslag, tomma rader etc. blir konsekvent. Det går att i detalj styra hur detta skall gå till i Eclipse -> Inställningar -> Java -> Codestyle -> Formatter om man inte är nöjd med standardvärdena. Medlemmarna i en klass (attribut, metoder, klasser etc.) bör vara ordnade på samma sätt i alla klasser i ett projekt. Med Source -> Sort members åstadkommer man detta i en klass, ett paket eller i hela projektet. Via Eclipse -> Inställningar ->Java ->Appearance -> Member Sort Order kan man styra detaljer för sorteringen. När man behöver en ny konstruerare som ger värden åt några attribut använder man med fördel Source -> Generate -> Constructor using Fields. Source -> Organize imports sorterar import-klausuler, tar bort onödiga och lägger till sådana som behövs. Med Source -> Clean Up... får man en mer genomgripande städning av programmet med indentering, sortering, mm. Detaljerna kan styras via Eclipse -> Inställningar -> Java -> Code Style -> Clean Up. 4. Refactor-menyn Refactor-menyn innehåller mängd operationer för att omstrukturera programmet. Innehållet i menyn växlar efter vad som är markerat i Package Explorer eller editorer. Namnbyten, Refactor -> Rename..., är en enkel och kraftfull operation. Om man byter namn på en klass kommer alla referenser till namnet i hela projektet att bytas ut. Om man så önskar kommer även liknande namn på attribut och metoder och förekomster i kommentarer att modifieras. 2
3 Det enklaste sättet att flytta klasser mellan olika paket är att dra dem i Package Explorer. Det går att flytta metoder och attribut på samma sätt, men det kräver ofta efterarbete. I uppgiften nedan får du prova några andra operationer. Experimentera gärna; i regel går det att återställa programmet med Edit -> Undo. 4. Papyrus UML I menyn Window -> Perspective -> Open perspective -> Other kan du välja ett anpassat perspektiv (Papyrus) för din modellering. Det går också bra att använda ditt vanliga Java perspektiv och öppna de relevanta vyerna separat i menyn Window -> Show View. Du behöver i så fall öppna Papyrus/Model Explorer och General/Properties. - När man arbetar med Papyrus (till exempel i uppgiften nedan) så kan det vara bra att känna till ett par allmänna saker. UML är ett generellt modelleringsspråk och saknar därför en del Javaspecifika konstruktioner. Därför behöver vi ange att den UML modell vi skapar skall vara Javaspecifik om vi vill kunna generera Javakod. Genom att ange Java som profil för projektet kan vi lägga till stereotyper till de olika elementen i modellen. Dessa stereotyper styr sedan vilken kod som genereras. - UML-modellen är integrerad med Java-representationen av programmet så att förändringar i den ena avspeglar sig i den andra. Du väljer själv om du vill synkronisera (dvs. skriva över) existerande filer eller generera nya javafiler respektive UML-modeller. För att generera Java kod, högerklicka på elementet i modellen och välj Java -> Generate Java Code. För att generera UML kan du istället högerklicka på klassen eller paketet i Project Explorer och välja Java -> Java Reverse. Det är inte alltid så lätt att få diagrammet att se ut exakt som man skulle önska. Ansträng dig inte mer än att diagrammet blir användbart som underlag för designdiskussionen. Tutorials: ( Uppgift Eclipse och Papyrus Denna uppgift innehåller enkel objektorienterad design och introducerar de viktigaste handgreppen i Papyrus. 1. Starta Eclipse. 2. Eventuellt installera och konfigurera UML-verktyget (enligt avsnitt 2). 3. Skapa ett nytt Papyrusprojekt (projektnamn: geometrypapyrus, modellnamn: geometryuml, och namn på rotelement geometry ). Välj UML som modelleringsspråk och välj typ klassdiagram. Lägg till Java som profil (finns bland registrerade profiler). 4. Importera Javas primitiva typer. I vyn Model Explorer högerklicka på rotelementet (geometry) och välj Import -> Import registered package. 5. Skapa klassen Point i UML-diagrammet genom att markera Class i UML-paletten och klicka på den plats i diagrammet där klassrutan skall placeras. Högerklicka i diagrammet och välj Show properties view ifall du inte ser en tabb där du kan ändra namn etc på klassen. 6. Lägg till två privata attribut, x och y, av typen double. Dra två Property element från paletten till din klass Point. Namn, synlighet och typ kan ändras i vyn Properties (tabb: UML) som visas när du markerar aktuellt attribut. Siffran i hakparentesen visar multiplicitet. 7. Skapa ett paket (geometry) och dra klassen Point dit. 8. Generera java kod. Markera klassen Point, högerklicka och välj Java -> Generate Java Code. Ett nytt javaprojekt skapas med samma namn som rotelementet (geometry) 9. Öppna klassen och titta på koden. Skriv in en JavaDoc-kommentar. 3
4 10. Skapa en konstruktor i klassen Point med de två attributen via Source -> Generate Constructor -> Using Fields. Kryssa gärna i Omit call to default constructor super(). 11. Generera UML utifrån din klass. Öppna vyn med modellen i vilken du vill infoga klassen. Dra klassen från Project explorer till modellen. Klasser och paket kan dölja varandra så du får själv arrangera det som du vill ha det. Genererade klasser och paket markeras med en pil uppe i högra hörnet. Högerklicka på klassen och utnyttja menyalternativet filter för att välja vilka detaljer som ska visas i diagrammet. 12. Det du får i diagrammet är en ögonblicksbild av klassen Point. För att uppdatera bilden av klassen när du ändrar i koden kan du ändra under tabben Appearance -> Sync with model till true. Ändrar du nu något i koden och efter högerklick på klassen under Project Explorer väljer Java -> Java reverse kommer bilden att uppdateras. Observera att ändrar du i bilden kan du bara generera Java-kod, dvs du kan skapa en ny klass men inte uppdatera en befintlig klass. 13. Lägg till metoden public double distanceto(point other) i Java-editorn och låt den returnera avståndet mellan this och other. Gör en JavaDoc-kommentar för metoden. Uppdatera bilden. 14. Formatera klassen med Source -> Format. 15. Gör en JUnit-test för distanceto via File -> New -> JUnit Test Case. Följ anvisningen att lägga till JUnit-paketet i build path. Implementera metoden test och använd någon assertmetod. Exekvera testet med Run -> Run As -> JUnit Test. 16. Skapa ett nytt paket för tester och flytta testklassen dit. Testa igen. 17. Vi skall nu ändra modellen så att den kan hantera punkter och sträckor antingen i 2 eller 3 dimensioner. Byt namn på Point till Point2D via Refactor -> Rename. 18. Skapa en superklass från Point2D med metoden distanceto via Refactor -> Extract Superclass. Låt superklassen få namnet Point. 19. Ändra signaturen för distanceto med Refactor -> Change Method Signature så att argumentet får typen Point. 20. Uppdatera UML-diagrammet genom att vänsterklicka i diagrammet på den vita ytan (utanför alla klasser etc). Under tabben appearance sätt sync with model till true. Det ska nu visas ett paket generated. Klicka på element i denna och välj sync with model. Fortsätt tills tillräcklig detalj visas. Justera layouten genom att ändra storlek på paket och dra klasser till lämpliga platser. 21. Skapa en klass Point3D med tre koordinater genom att utgå från en kopia av Point2D. 22. Uppdatera UML-diagrammet genom att Java reverse på geometry-paketet. Diagrammet måste vara i fokus och synligt för att detta ska fungera. 23. Skapa en klass (Segment) i UML diagrammet. Segment representerar en sträcka med hjälp av dess ändpunkter. 24. Lägg till operationen length() i Segment i diagrammet 25. Generera java-kod för segment genom att högerklicka på geometry-paketet i diagrammet och välja Java -> generate java code. Du ska nu ha fått ett projekt generated. Ändra i detta i fortsättningen. 26. Ändra i den genererade koden så segment får två punkt-attribut och en konstruktor för dessa och så att metoden length returnerar sträckans längd. Uppdatera UML-diagrammet. Glöm inte att klicka i sync with model för segment-klassen. 27. Testa metoden genom att skapa ett JUnit-test för denna. 4
5 28. Använd Source Clean Up... på hela paketet. Markera Use custom profile och konfigurera efter egna önskemål, t ex genom att avmarkera Add missing Annotations under fliken Missing Code och markera de fem rutorna under fliken Code Organizing. 29. När uppgiften är färdig bör UML-diagrammet se ut ungefär så här. 5. UMLetino Du ska nu testa ett annat verktyg för att rita UML-diagram. Verktyget är webb-baserat så du surfar in till: och klickar på start-länken Det som skiljer verktyget från papyrus är att det inte finns en koppling till koden som skrivs. Kod implementeras och underhålls separat från UML-diagrammet. Uppgift Rita klassdiagrammet för geometry-paketet i umletino. Spara undan och ladda in diagrammet igen. Exportera diagrammet till en bild. 5
Refaktorisering och UML med Eclipse
1. Introduktion Refaktorisering och UML med Eclipse Eclipse är en utvecklingsmiljö för allehanda uppgifter. Den innehåller bland annat ett mycket kvalificerat stöd för programutveckling i Java. Den är
Refaktorisering och UML med Eclipse
1. Introduktion Refaktorisering och UML med Eclipse Eclipse är en utvecklingsmiljö för allehanda uppgifter. Den innehåller bland annat ett mycket kvalificerat stöd för programutveckling i Java. Den är
Verktyg och Utvecklingsmiljö. Jochim von Hacht
Verktyg och Utvecklingsmiljö Jochim von Hacht Verktyg Modern programutveckling innebär att man måste behärska ett antal verktyg Editorer Kompilatorer Avlusare (debugger) Versionhantering (kommer i projektkurs)
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
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/
Eclipse. Kort genomgång
Eclipse Kort genomgång Installation för den som vill ha Eclipse på sin egen maskin Du behöver först och främst ett Java Development Kit (JDK). Om du inte har något, installera JDK 7.0 från http://www.oracle.com/technetwork/java/javase/downloads/
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
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
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/
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
UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016
UML Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 UML Unified Modelling Language Grafiskt modelleringsspråk för att beskriva olika aspekter av objektorienterade system. Vi kommer
Länkade listor och automatisk testning
1 (6) Länkade listor och automatisk testning Algoritmer och datastrukturer Obligatorisk nr 3 Syfte Att ge träning i programmering av länkade listor på låg abstraktionsnivå med primitiv pekarmanipulering.
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
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)
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
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
ID1004 Laboration 4, November 2012
06-Nov-2012/FK ID1004 Laboration 4, 14-16 November 2012 Beräknad tid ca 1-2 timmar. Instruktionen antar att labben utförs i datasal, med hjälp av den integrerade utvecklingsmiljön Eclipse. Alternativt
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
Laboration 3 GUI-programmering
Laboration 3 GUI-programmering Syfte Erbjuder studenterna en möjlighet att lära sig grunderna i gränssnittsprogrammering i Java. Genomförande Genomförs individuellt eller i grupp om 2 personer. Uppskattad
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å
Föreläsning 2 Verktyg m.m.
Föreläsning 2 Verktyg m.m. Innehåll Java-paket Utvecklingsmiljö (development environment) Hur man organiserar sin utvecklingsmiljö Verktyg (tools) Editorer, debuggers, IDE's (integrated development environments),
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
INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...
INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...6 2 (6) 2D1954 Programutvecklingsprojekt vt 2003 Installation
INSTÄLLNINGAR FÖR IRONCADS 2D-RITNING
INSTÄLLNINGAR FÖR IRONCADS 2D-RITNING Innehållsförteckning Justera storlek och antalet decimaler för måttsättning...2 Ändra färg på ritningselement...4 Justera färg för ett enskilt element genom att byta
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
Tentamen. DD2385 Programutvecklingsteknik vt Fredagen den 5 juni 2009 kl Inga hjälpmedel utom penna, sudd och linjal
Tentamen DD2385 Programutvecklingsteknik vt 2009 Fredagen den 5 juni 2009 kl 10.00 13.00 Inga hjälpmedel utom penna, sudd och linjal Tentans del I omfattar 22 poäng. Del II har också 22 poäng Preliminära
LUNDS TEKNISKA HÖGSKOLA EDAA01 Programmeringsteknik fördjupningskurs Institutionen för datavetenskap HT 2015
LUNDS TEKNISKA HÖGSKOLA EDAA01 Programmeringsteknik fördjupningskurs Institutionen för datavetenskap HT 2015 Testning med JUnit 1 Inledning JUnit är ett ramverk för enhetstestning av Javakod. Det är utvecklat
Laboration 1 Introduktion till Visual Basic 6.0
Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.
Kompilering av Java-program med eclipse SDK för den som kan BlueJ
1 (5) Kompilering av Java-program med eclipse SDK för den som kan BlueJ Inledning Eclipse är ett kraftfullt kodutvecklingsverktyg för Java. Det kan laddas ner gratis från www.eclipse.org. I detta papper
TDP005, Projekt: objektorienterade system
TDP005, Projekt: objektorienterade system Laboration: Eclipse Höstterminen 2011 Introduktion Detta material innehåller övningar för Eclipse. Redovisning Dessa övningar behöver inte redovisas, men ni får
Chapter 4: Writing Classes/ Att skriva egna klasser.
Chapter 4: Writing Classes/ Att skriva egna klasser. I dessa uppgifter kommer du att lära dig om hur man definierar egna objekt genom att skriva klasser. Detta är grunden för att förstå objekt orienterad
Tentamen i TDP004 Objektorienterad Programmering Praktisk del
Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2011-08-22 Tid: 14-18 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 281456 Jourhavande kommer att besöka skrivsalarna ungefär
Tentamen. DD2385 Programutvecklingsteknik vt 2014 Måndagen den 2 juni 2014 kl Hjälpmedel: penna, suddgummi, linjal
Tentamen DD2385 Programutvecklingsteknik vt 2014 Måndagen den 2 juni 2014 kl 10.00 13.00 Hjälpmedel: penna, suddgummi, linjal Tentan har två delar om vardera 30 poäng Maximala betygsgränser (gränserna
Datorlaboration 0, Programmering i C++ (EDAF30)
LUNDS TEKNISKA HÖGSKOLA Programmering i C++ Institutionen för datavetenskap HT 2015 Datorlaboration 0, Programmering i C++ (EDAF30) Under den inledande datorlaborationen får du träna på de grundläggande
TUTORIAL: KLASSER & OBJEKT
TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan
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,
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).
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[]
TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET
UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt
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
KARLSTADS UNIVERSITET 12/8/09 informatik & datavetenskap Johan Öfverberg, Kerstin Andersson Laboration 4, ISG A04 och DVG A08 HT-09
Laboration 4, ISG A04 och DVG A08 HT-09 Laborationen går ut på att skapa en enkel bankbok. Ni skall i bankboken kunna registrera upp till 30 transaktioner som kan bestå av insättning, uttag eller checkuttag.
Datorlaboration 0, Programmering i C++ (EDA623)
LUNDS TEKNISKA HÖGSKOLA Programmering i C++ Institutionen för datavetenskap HT 2013 Datorlaboration 0, Programmering i C++ (EDA623) Under den inledande datorlaborationen får du träna på de grundläggande
Tentamen i Objektorienterad modellering och design
Lunds Tekniska Högskola Datavetenskap Tentamen EDA061 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och design Vid bedömningen kommer hänsyn att tas till lösningens kvalitet. UML-diagram
surell consulting ab
PRINT ORGANIZER Detta dokument ger en kort introduktion till Print Organizer. Print Organizer ersätter och utökar den funktionalitet som tidigare fanns i Batch Print. Fokus i Print Organizer ligger på
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
Komponenter med COM (och COM+/VC++ 7.0)
MÄLARDALENS HÖGSKOLA Komponenter med COM (och COM+/VC++ 7.0) Med Visual C++ 7.0 COM-komponent EI0230 Komponentbaserad applikationsutveckling oktober 2003 Om denna sammanfattning Denna sammanfattning innehåller
Inkapsling (encapsulation)
UML UML är en standard för att dokumentera och visualisera sina tankar och beslut under analys och design. Att lära sig allt om UML får inte plats i den här kursen, men vi kommer lära oss vissa delar.
Laboration 2: Designmönster
Laboration 2: Designmönster Bakgrund Det har visat sig väldigt svårt att beskriva hur ett system, eller en dellösning, skall konstrueras på ett bra sätt. Det har överhuvud taget varit svårt att veta om
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
Malmö högskola 2007/2008 Teknik och samhälle
Laboration 8 Avsikten med denna laboration är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom
Versionshantering. Jan Erik Moström
Versionshantering Jan Erik Moström Johan Eliasson Versionssystem Gjorda för att användas av en eller flera personer på en eller flera platser, exempelvis: För en ensam användare som jobbar med ett projekt
DAT043 - Föreläsning 7
DAT043 - Föreläsning 7 Model-View-Controller, mer om klasser och interface (arv, ) 2017-02-06 Designmönstret Observer avläser Observer Observable meddelar Observer avläser En eller flera objekt registrerar
Guide till RefWorks Skapa ett RefWorks-konto Under Citera och referera > RefWorks Hjälp funktioner i RefWorks Help Tutorial Help
Guide till RefWorks Denna guide beskriver kort hur du kommer igång med RefWorks, hur du importerar referenser till RefWorks, delar dina referenser med andra samt hur du refererar och skapar referenslistor.
Tentamen i TDP004 Objektorienterad Programmering Praktisk del
Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2010-04-07 Tid: 8-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna ungefär
Objektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.
(7) Objektinteraktion Objektorienterad programmering 2 Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt. Mål Efter övningen skall du kunna konstruera ett program med
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
1. Definiera klassvariabel. 2. Instansvariabel för klass. Selektera klass i Browsern och tryck på statics. Definiera protokollnamn, Protocol->Add...
Kort beskrivning av klassvariabler, något om instansvariabler för klasser samt en introduktion till gränssnittsbyggande med hjälp av gränssnittsbyggare i VisualWorks 5i 1. Definiera klassvariabel Selektera
Code-Lite tutorial ( /RoJ)
Code-Lite tutorial (2013-03-20/RoJ) Följ dessa anvisningar för att skapa projekt, kompilera/länka och testa dina laborationsuppgifter 3,4. Project Projekt, innehåller bland annat ett antal källtextfiler
Macromedia. Flash 8 Grundkurs. www.databok.se
Macromedia Flash 8 Grundkurs www.databok.se Innehållsförteckning 1 Börja arbeta med Flash 8...1 Användningsområden...1 Bekanta dig med arbetsytan...2 Scen och tidslinje...3 Lager...3 Bibliotek...4 Verktygsfältet
Föreläsning 15: Repetition DVGA02
Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras
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:
Malmö högskola 2007/2008 Teknik och samhälle
Laboration 12 Avsikten med denna laboration är att du ska göra några grafiska program. Börja med att skapa paketet laboration 12. Grundläggande uppgift Uppgift 12a Uppgiften går ut på att göra en enkel
Handbok Artikulate. Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll
Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Inlärningsmetodiken.................................... 5 1.2 De första stegen i Artikulate................................
Malmö högskola 2008/2009 CTS
Laboration 8 Avsikten med laborationen är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom
JAVA Mer om klasser och objektorientering
JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det
Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2
Paneler - VCPXX.2 Programmeringsmanual för VCP-paneler Revision 2 Innehållsförteckning Innehållsförteckning... 2 1 Symbolfiler för kommunikation via IndraLogic... 3 2 Uppsättning i IndraWorks... 6 3 Programmering
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
UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.
Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language
STOCKHOLMS UNIVERSITET. Handbok 2. Funktionaliteter moveon 4
STOCKHOLMS UNIVERSITET Handbok 2 Funktionaliteter moveon 4 Göteborgs Universitet 2013-11-04: Denna manual visar hur man söker i tabeller och sorterar i kolumner och andra bra tips för att förenkla användandet
EndNote X8. Bygg ditt eget referensbibliotek. - där du samlar referenser från olika databaser på ett och samma ställe
EndNote X8 Bygg ditt eget referensbibliotek 1. Vad är EndNote? EndNote är ett referenshanteringsprogram: - där du samlar referenser från olika databaser på ett och samma ställe - som underlättar sortering
1 Grafiska komponenter
1 Grafiska komponenter Vi har sett exempel på hur vi kan arbeta med enkla dialogrutor med klasser JOptionPane och hur vi kan rita med en rityta, Graphics instans, i en Java applet. Att skapa ett grafiskt
Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts.
Tentamen i EDAF5 juni 07 Skrivtid: 4-9 Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Skriv inte med färgpenna enda tillåtna färg är svart/blyerts. Skriv
Objektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.
1 (8) DUGGA: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt namn, personnummer och e-postadress på försättsbladet. Skriv rent dina svar.
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
Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen.
TT Kapitel 3. Husdjur & Fisk Javaklasser Translation by Leif Lourié Java program består av klasser som beskriver saker (objekt) som finns på riktigt. Även om det finns många olika sätt att skriva program
DAT043 - föreläsning 8
DAT043 - föreläsning 8 Paket, generics, Java collections framework 2017-02-07 Paket och tillgänglighet Ovanför klasser finns en hierarkisk namespace med paket. Filer som inte deklareras i något paket finns
Word-guide Introduktion
Word-guide Introduktion På det kognitionsvetenskapliga programmet kommer du läsa kurser inom flera olika vetenskapsområden och för varje vetenskapsområde finns ett speciellt sätt att utforma rapporter.
Gissa ordet, tutorial
Gissa ordet, tutorial Detta är en introduktion till hur du kommer igång med Android-programmering för smartphones. I huvuduppgiften gör du ett enkelt spel, Vilket ord tänker jag på?, och laddar ned det
Tentamen i Objektorienterad modellering och diskreta strukturer
Lunds Tekniska Högskola Datavetenskap Ulf Asklund, Sven Gestegård obertz Tentamen EDAF10 2013 10 24, 8.00 13.00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn
Arv och polymorfism i Java
1 (5) Arv och polymorfism i Java Objektorienterad programmering 5 Syfte Att ge en introduktion till arvsmekanismen i Java. Mål Efter övningen skall du kunna definiera klasser med arv i Java. förstå hur
Tentamen i Objektorienterad modellering och design Helsingborg
Lunds Tekniska Högskola Datavetenskap Emelie Engström Tentamen EDAF25 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och design Helsingborg Tentamen består av en teoridel om totalt 5 poäng
Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.
Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Att instansiera en klass Objekt I Man instansierar (skapar
UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language
Ett modelleringsspråk : Exempel Fönster Klassnamn Unified Modelling Language Av Booch, Jacobson, Rumbaugh Exempel: En klass position storlek Attribut (instansvariaböe) Resultatet av en sammanslagning av
Objektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.
(7) Objektinteraktion Objektorienterad programmering Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt. Mål Efter övningen skall du kunna konstruera ett program med flera
Tentamen i TDP004 Objektorienterad Programmering Praktisk del
Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2009-08-24 Tid: 14-18 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna ungefär
Laboration 1: Figurer i hierarki
Laboration 1: Figurer i hierarki Bakgrund Två grundläggande tekniker i objektorienterad konstruktion är arv och komposition. Mål Laborationen har flera avsikter: 1. Ge kunskaper i hur program kan organiseras
Telia Connect för Windows
Telia Connect för Windows Version 3.0 Användarguide Updaterad: 3 juli 2007 Innehåll Ansluta till Internet...3 Information som presenteras av Telia Connect...4 Konfiguration av Telia Connect...7 Fliken
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)
Objektorientering: Lagring och livstid
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Objektorientering: Lagring och livstid Tre sorters variabler Tre sorters variabel (1): Lokal 2 Lokal variabel Deklareras inuti en metod Vid varje anrop
Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?
Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? TDDD78, TDDE30, jonas.kvarnstrom@liu.se 729A85 jonas.kvarnstrom@liu.se
Innehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och
Innehåll u OOP snabbintroduktion u Datatyper u Uttryck u Satser u Arv (intro) u Programvaruutveckling och programmering u Klassdesign och metodik (UML, CRC) u Arv, polymorfi och dynamisk bindning u Fält
Komma igång med Qlikview
Denna instruktion är till dig som är ny i Qlikview och snabbt vill komma igång med grundläggande funktioner. Innehåll 1 Introduktion... 2 1.1 Behörighet... 2 1.2 Webbläsare... 2 2 Installation av Qlikview
Laboration 2: Designmönster
Laboration 2: Designmönster Bakgrund Det har visat sig väldigt svårt att beskriva hur ett system, eller en dellösning, skall konstrueras på ett bra sätt. Det har överhuvud taget varit svårt att veta om
Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering
och metoder Introduktion till objektorienterad programmering Markus Saers markus.saers@lingfil.uu.se orientering Deklarativ programmering Beskriver förutsättningarna för något Prolog Imperativ programmering
Objekt, Klasser, Paket m. m.
Objekt, Klasser, Paket m. m. Bildserie 3 Objekt Ett objekt karakteriseras av - Identitet, det som gör det möjligt att särskilja objektet från andra objekt - Tillstånd, den data som finns i objektet - Beteende,
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,
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
TDP005, Projekt: Objektorienterade System. Laboration: Eclipse
TDP005, Projekt: Objektorienterade System Laboration: Eclipse Höstterminen 2013 Introduktion Detta material innehåller övningar för Eclipse. Redovisning Dessa övningar behöver inte redovisas, men ni får
Tentamen i Objektorienterad modellering och diskreta strukturer
Lunds Tekniska Högskola Datavetenskap Ulf Asklund, Sven Gestegård obertz Tentamen EDAF10 2014 10 31, 14.00 19.00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn