Tentamen i Objektorienterad modellering och design (OMD) Helsingborg
|
|
- Ingemar Dahlberg
- för 5 år sedan
- Visningar:
Transkript
1 Tentamen i Objektorienterad modellering och design (OMD) Helsingborg EDAF25 3 juni 219, 8 13 Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Skriv tydligt om texten inte går att läsa kan du inte få några poäng. Sätt identitet och sidnummer på varje inlämnat blad, kontrollera att sidnumret på din sista sida är samma som det antal blad du markerar på omslagspappret. Tentamen består av uppgifter med totalt 3 poäng. För godkänt betyg kommer att krävas högst hälften av poängen. Vid bedömningen kommer hänsyn att tas till lösningens kvalitet. UML-diagram skall ritas i enlighet med UML-häftet. Hjälpmedel: Andersson: UML syntax 1
2 Uppgift 1 12 P. Denna uppgift innehåller ett antal deluppgifter, där varje deluppgift har ett påstående och en anledning. För varje deluppgift, svara med ett av följande alternativ: A Både påståendet och anledningen är korrekta uttalanden och anledningen förklarar påståendet på ett korrekt sätt. B Både påståendet och anledningen är korrekta uttalanden, men anledningen förklarar inte påståendet. C Påståendet är ett korrekt uttalande, men anledningen är ett felaktigt uttalande. D Påståendet är felaktigt, men anledningen är ett korrekt uttalande. E Både påståendet och anledningen är felaktiga uttalanden. Svara inte i uppgiftshäftet, utan skriv ditt svar på ett vanligt lösningspapper. Varje korrekt besvarad deluppgift ger 1. poäng Vi vill inte att ni skall chansa, så ni får minuspoäng (-.25 poäng) på en deluppgift om ni svarar fel, men aldrig minuspoäng totalt sett på hela uppgift 1. 2
3 Påstående Anledning T1 OMD handlar ytterst om att fördela ansvar och samarbete mellan klasser av objekt. Önskvärda egenskaper är hög grad av sammanhang (cohesion) och en låg grad av koppling (coupling). Cohesion mäter graden av sammanhållning mellan elementen i en enskild modul eller klass. Hög grad av sammanhang (cohesion) och lös/låg koppling (coupling) ger mjukvara som är lätt att utvidga eller dela upp och återanvända eftersom inte alla delar är inbördes beroende av varandra. T2 Det är viktigt att ett UML-klassdiagram Det bör gå att entydigt generera ett innehåller alla detaljer som rör implementeringen komplett program utifrån ett UML- av de ingående klasserna. klassdiagram. T3 Refaktorisering är ett led i TDD. TDD leder till hög koppling (coupling) mellan modulerna i mjukvaran. T4 Att ersätta ett konstruktor-anrop med en fabriksmetod är ett exempel på en refaktorisering. Refaktorisering innebär att ändra strukturen på koden utan att ändra dess beteende. T5 Hög seghet (viscosity) är ett exempel på illaluktande design (bad smells). T6 Dekoratörsmönstret erbjuder en möjlighet att förändra ett objekts beteende dynamiskt. T7 Både Strategimönstret (Strategy) och Mallmetodmönstret (Template Method) erbjuder sätt att följa OCP (Open Closed Principle). T8 Fabriksmetodmönstret (Factory Method Pattern) använder fabriksmetoder för att kunna skapa objekt utan att specificera den exakta klassen för objektet som ska skapas. T9 ISP (Interface Segregation Principle) liknar SRP (Single Responsibility Principle) men tar modulanvändarens(klientens) perspektiv snarare än moduldesignerns. T1 Om man vill ha en klass av objekt som kan övervakas av andra klasser av objekt i ett program utan att den blir tätt kopplad till dessa kan man använda sig av Observer/Observable mönstret. Seghet är ett mått på hur jobbigt det är att implementera lösningar på rätt sätt (bibehålla en god design). Om segheten är hög innebär det att det finns genvägar (hack) som är lättare att ta för att lösa ett problem vilket i sin tur leder till att designen försämras. Dekoratörsmönstret lägger till ytterligare ansvar till instanser av en klass. Båda öppnar för logisk variation: Strategimönstret förändrar logiken för enskilda objekt medans Mallmetodmönstret gör det för hela klasser. Fabriksmetoder är exempel på mallmetoder i Mallmetodmönstret (Template Method Pattern) där skapandet av objektet utgör variationspunkterna som kapslas in och lyftas ut ur kontexten. Brott mot ISP innebär även brott mot SRP. En klass kan inte ha ett tydligt ansvar om den implementerar flera interface. Kopplingen mellan en observatör och det observerade objektet kan göras i observatörens konstruktor. 3
4 Påstående T11 I observer -mönstret finns två sätt att propagera data från det observerade objektet till dess observatörer, antingen genom att det observerade objektet skickar data till observatören (pushmodellen), eller genom att observatören hämtar data från det observerade objektet (pull-modellen). Push-modellen ökar kopplingen mellan det observerade objektet och dess observatörer. T12 När man tillämpar Tillståndsmönstret måste man välja vilka klasser som ska vara stängda för förändring när systemet vidareutvecklas. Anledning I Push-modellen kommer observatörerna att behöva beräkna vilka förändringar som gjordes eller anta att något har förändrats. Tillståndsövergångarna kommer att kräva beroenden antingen mellan de olika tillståndsklasserna eller från tillståndsklasserna till kontexten. Uppgift 2 6 P. Studera följande Java-kod. protected abstract class Employee { private String name; //Omissions protected abstract String role(); public String hallo() { return "Hej! Jag heter " + name + " och är " + role(); public class PM extends Employee { //Omissions protected String role() { return "project manager"; public class Dev extends Employee { //Omissions protected String role() { return "developer"; 4
5 a) Gör en bättre design med hjälp av Strategy-mönstret, där bl a följande kodsekvens ska fungera: Employee emp = new Employee("Ulf"); Role r = new PM(); emp.setrole(r); emp.hallo(); Redovisa med Java-kod. b) Det finns också en klass Company som har en metod lastin() som returnerar ett objekt av typen Employee (den senast anställde på företaget). Om företaget inte har någon anställd returneras null. Metoden lastin() används i sin tur av klassen UnionReports i en en metod countroles() som presenterar en sammanställning av hur många utvecklare vs hur många projektledare som är senast anställda på sina respektive företag. Klasserna Company och Employee finns i samma paket (company) medans UnionReports är ett exempel på användning av detta paket. På vilket sätt kan ovan beskrivna design vara ett problem för användaren av paketet? Föreslå en bättre design som utnyttjar antingen Null Object-mönstret eller Javas Optionals. Redovisa din lösning i ord och klassdiagram tillräckliga för att beskriva hur designen löser problemet. Uppgift 3 7 P. Använd komposit- och kommando-mönstret för att representera instruktioner i ett datorprogram enligt följande beskrivning: Det finns tre sorters instruktioner, hoppinstruktioner, adderare och makron. Alla instruktioner behöver en referens till datorns minne. En hoppinstruktion behöver ett index som anger vilken instruktion som ska utföras i nästa exekvering. En adderare har dels en adress som pekar ut en plats i minnet och dels ett värde som läggs till det värde som redan finns på utpekad minnesplats. Ett makro innehåller en eller flera instruktioner. a) Gör ett fullständigt klassdiagram för denna beskrivning som visar alla klasser, relationer (inklusive riktning, typ och multiplicitet), attribut och metoder. b) Rita ett objektdiagram som exemplifierar designen ovan som innehåller en instruktion av varje typ. 5
6 Uppgift 4 5 P. Vid en stor stadsfestival behöver trafiken förbi festivalområdet dirigeras om. Arrangörerna vill räkna ut hur stor påverkan festivalen kommer att ha på den normala trafiken (Hur många fordon kommer att behöva välja en alternativ rutt?). Normalt passerar i genomsnitt 2 fordon per dygn genom området. Under festivalen finns det bara en väg in (vid Knutpunkten) respektive ut (korsningen Hälsovägen/Kopparmöllegatan) ur festivalområdet. Vägarna mellan infarten och utfarten har en begränsad framkomlighet och alla är enkelriktade. Trådgårdsgatan är farbar från Knutpunkten till Essenska villan. Därifrån kan man sedan följa Bergaliden till Skolmuseet och vidare Kopparmöllegatan till festivalens utfart. En alternativ väg går från knutpunkten via Järnvägsgatan till Stortorget och vidare längs Drottninggatan till Stadsteatern. Från stadsteatern kan man följa Hälsovägen till festivalens utfart. Från Stortorget kan man dessutom välja att åka via Södra Storgatan till Essenska villan eller via Möllegränd till Skolmuseet. Slutligen är det också möjligt att ta sig från skolmuseet till statsteatern via Nedre Långvinkelsgatan. De farbara vägarna i ovanstående förslag har kapaciteter enligt följande: Järnvägsgatan, Trädgårdsgatan, Kopparmöllegatan och Hälsovägen klarar var och en 1 fordon per dygn medans framkomligheten på övriga vägar är mer begränsad. Bergaliden tar 8 fordon per dygn, Möllegränd 6, Drottninggatan och Nedre långvinkelsgatan 4 vardera och slutligen Södra storgatan 3. a) Beskriv detta som ett grafproblem. Det vill säga, översätt problembeskrivningen till något av de typiska grafproblem vi har tittat på i kursen. Ange vilket grafproblem som behöver lösas samt vad noder och bågar och deras eventuella värden representerar. b) En algoritm som kan användas för att lösa problemet är Ford Fulkersons algoritm. Föreslå en lämplig representation av grafen vid implementation av algoritmen. c) Algoritmen använder sig av residualgrafen för att lösa problemet. Visa hur den inititala residualgrafen i exemplet skulle se ut enligt föreslagen grafrepresentation. d) I första steget av algoritmen finner man en möjlig väg via Trädgårdsgatan, Bergaliden och Kopparmöllegatan. Hur ser residualgrafen ut efter första steget? Motivera ditt svar. 6
7 Lösningsförslag till uppgift 1 T1 A, Högt sammanhang leder till lösare kopplingar mellan de ingående modulerna. Desto högre sammanhang i en applikation desto mer väldefinierat är ansvaret för varje modul. Ju mer väldefinierat en moduls ansvar är desto lättare är det att lyfta den ut ur sin kontext och låta den göra samma jobb i en annan kontext. Modulen kan sköta sitt jobb utan att veta något om kontexten. Genom att tillämpa principer och mönster kan vi få en bättre design. T2 E, Syftet med UML är visualisering för att göra det möjligt att förstå komplexiteten i mjukvaran. Därför är det viktigt att detaljnivån är anpassad till situationen. UML kan användas på olika sätt 1) Konceptuellt, som snabba skisser (hand-ritade på whiteboards) som ett hjälpmedel vid designdiskussioner 2) Specificerande, som specifikation före implementering eller i efterhand (reverse-engineering), för att förstå existerande kod eller 3) Implementerande, som ett programspråk (kompletta exekverbara specifikationer av ett mjukvarusystem. Detaljnivån varierar för dessa tre scenarier. T3 C, En effekt av TDD är att man tvingas fokusera på gränssnitt och funktionalitet vilket i sin tur leder till att man tvingas till låg coupling av mjukvaran. Refaktorisering är ett led i TDD och behovet av refaktorisering en konsekvens av TDD. T4 A, Refaktorisering görs för att förbättra koden med avseende på kvaliteter som t.ex. begriplighet, flexibilitet, återanvändbarhet och utvidgningsbarhet och är vanligtvis kopplad till en specifik förbättring av designen. Ytterst handlar det om att genomföra små beteendebevarande omstruktureringar (refaktoriseringar) av koden, en i taget. Exempel på refaktoriseringar kan vara: T5 A Ta bort duplicerad kod. Extrahera en hjälpmetod utav en del av en lång metod. Ersätta ett konstruktor-anrop med en fabriksmetod T6 D Strategimönstret erbjuder en möjlighet att förändra ett objektets beteende (genom valet av implementation/strategi) medans Dekoratörsmönstret lägger till ytterligare beteenden till objektet dynamiskt utan att förändra beteendet för det ursprungliga objektet. I det första fallet påverkas alla konsumenter av förändringen medans i det senare fallet kan tillägg göras utan att de ursprungliga konsumenterna av objektet påverkas. T7 A Både Strategimönstret och Mallmetodmönstret erbjuder sätt att följa OCP. De skiljer sig dock i granularitet och metod. Mallmetodmönstret använder arv för att variera delar av en algoritm. Strategimönstret använder delegation för att variera hela algoritmen. Strategimönstret modifierar 7
8 logiken för enskilda objekt medan mallmetodmönstret modifierar logiken för en hel klass. T8 C Fabriksmetodmönstret (Factory Method Pattern) använder fabriksmetoder för att kunna skapa objekt utan att specifiera den exakta klassen för objektet som ska skapas. En fabriksmetod är inte en mallmetod utan liknar mer hjälpmetoderna (Hooks) i Mallmetodmönstret (Template Method). Däremot kan de anropas från en mallmetod och fabriksmetodmönstret används ofta tillsammans med en variant av mallmetodmönstret. T9 C ISP säger att ett interface ska vara sådant att dess användare/klienter inte ska vara tvingade att bero på metoder som de inte använder. Anledningen är att man vill undvika onödiga beroenden. Om en klient beror på en klass som innehåller metoder som klienten inte använder, men som andra klienter använder kommer denna klient ändå att påverkas av förändringar som dessa andra klienter påtvingar klassen. Ett sätt att undvika sådana beroenden/kopplingar är att separera interfacen. ISP liknar SRP men tar modulanvändarens(klientens) perspektiv snarare än moduldesignerns. En klass kan ha ett tydligt ansvar även om den implementerar flera interface. Ett exempel är Sheet i XL-projektet. Användaren i Expression-paketet behövde bara de metoder som Environmentinterfacet tillhandahöll alltså behövdes inget särskilt Sheet-interface. Att ersätta Environment-interfacet med ett sådant skulle bryta mot ISP men inte nödvändigtvis mot SRP som handlar om Sheet-klassens ansvar i det här fallet (som i sin tur utgör ett gränssnitt gentemot GUIt...). T1 B Om man vill ha en klass som övervakas av andra klasser i ett program utan den klassen blir tätt kopplad till dessa andra klasser kan man använda sig av observer/observable mönstret. Man vill t.ex. att vissa ändringar i klassens tillstånd ska förmedlas till resten av programmet. För att göra detta måste någon form av metod anropas. Dock behöver inte den observerade klassen veta vilken typ av objekt den pratar med. Genom att låta alla observatörer implementera ett gränssnitt, Observer, räcker det att den observerade klassen känner till dess metoder. För att hålla reda på vilka observatörer som är intresserade behöver den observerade klassen ha en lista över dessa och någon metod, addobserver, som gör det möjligt för en observatör att börja prenumerera på uppdateringar. När en uppdatering sker går den observerade klassen igenom listan av observatörer och informerar dem om ändringen genom att anropa dess anmälningsmetod. T11 C I observer -mönstret finns två sätt att propagera data från det observerade objektet till dess observatörer, antingen genom att det observerade objektet skickar data till observatören (push-modellen), eller genom att observatören hämtar data från det observerade objektet (pull-modellen). 8
9 Push-modellen kräver att det observerade objektet känner till vilken data observatörerna behöver. Detta ökar kopplingen mellan subjekt och observatörer. Pull-metoden minskar kopplingen men kan vara mindre effektiv. Observatörerna kommer att behöva beräkna vilka förändringar som gjordes eller anta att något kunde ha förändrats. Observera att i båda fallen måste observatörerna ha kunskap om det observerade objektet (antingen för att tolka parametern som skickats i uppdateringsmetoden eller för att fråga efter dess uppdaterade tillstånd). Denna koppling kan minskas om observatörerna känner till det observerade objektet via en abstrakt klass. T12 A: I tillståndsmönstret kan tillståndsövergångarna skötas antingen i tillståndsklasserna eller i kontexten. Beslutet om var man ska lägga dem är ett beslut om vilka klasser som ska vara stängda för förändring (tillståndsklasserna eller kontexten) när systemet vidareutvecklas. Nackdelen med att ha dem i tillståndsklasserna är att man då skapar beroenden mellan dessa. Läggar man dem i kontexten blir tillstånden istället beroende av kontexten. 9
10 Lösningsförslag till uppgift 2 a) public class Employee { private String name; private Role role; public Employee(String name) { this.name = name; this.role = role; public void setrole(role newrole) { this.role = newrole; public string role(){ return role.title(); public String hallo() { return "Hej! Jag heter " + name + " och är " + role.title(); public interface Role { string title(); public class PM implements Role { public String title() { return "project manager"; public class Dev implements Role { public String title() { return "developer"; Strategiinterface med strategimetod (1p) implementeras av två strategier (1p). I klassen Employee som nu är konkret finns en metod för att byta strategi (1p). 1
11 b) I den givna designen måste användaren av paketet hålla reda på om null är ett möjligt returvärde för metoderna hen använder och tänka på att hantera null. En miss kan leda till svårupptäckta fel. (1P) I en lösning med Null Object-mönstret bestämmer utvecklaren av company-paketet vad som är ett rimligt beteende för en icke-befintlig anställd: Company lastin(): Employee * «interface» Employee + role(): string StdEmployee NullEmpolyee (1p) Istället för null returnerar metoden lastin() ett objekt av typen NullEmployee om företaget saknar anställda. NullEmployee implementerar ett neutralt beteende för role() t.ex. kan strängen Noneťť returneras. Användaren behöver inte själv göra en nullkontroll. (1p) I en lösning med javas Optional tvingas användaren av company-paketet definiera vad som är ett rimligt beteende för en icke-befintlig anställd: Optional Company lastin(): Optional<Employee> * Employee (1p) Med denna lösning returnerar metoden lastin() alltid ett objekt av typen Optional<Employee> oavsett om det finns en anställd eller om företaget saknar anställda. Detta objekt kan vara tomt eller innehålla en Employee. Användaren kan då inte skippa (eller missa) en null-kontroll utan kan behöver utnyttja metoderna i Optional-klassen för att definiera hur befintliga respektive icke-befintliga anställda ska hanteras. (1p) 11
12 Lösningsförslag till uppgift 3 Memory «interface» Instruction + execute(memory) 1..* JumpInstruction AddInstruction Macro a) - index: int - address: int - value: int :Macro :AddInstruction address = 1 value = 2 b) :JumpInstruction index = 1 Interface Instruction med en metod execute() (1p) Tre subklasser JumpInstruction, AddIstruction och Macro (2p) attribut som beskriver subklassernas parametrar (1p) Komposition med multiplicitet (1p) Objektdiagram (2p) 12
13 Lösningsförslag till uppgift 4 a) Vi vill beräkna det maximala flödet i ett nätverk. (1p) Genom att ta reda på hur många bilar som kan passera området på ett dygn kan vi uppskatta hur många av de normalt 2 fordon som passerar som behöver välja en alternativ väg. Låt det aktuella vägnätet representeras av en riktad graf där noderna representerar korsningar och bågarna vägar (1p). Bågarnas kapacitet motsvarar antal fordon per tidsenhet som maximalt kan passera. Låt infarten vara källnod och utfarten vara sänka. b) I Ford Fulkersson brukar man forutsatta att noderna ar numrerade fran och uppat och att natverket representeras av en heltalsmatris. I matrisen anger elementet pa rad i och kolumn j kapaciteten for den bage som forbinder noderna i och j. Om det saknas bagar mellan vissa par av noder sa ar motsvarande element i matrisen.(1p) c) Residualgrafen visar upp resterande kapacitet. Initialt har inget flöde lagts på grafen och därför är residualgrafen samma som den ursprungliga grafen. (1p) Noder Knutpunkten Essenska villan Skolmuseet Stortorget Stadsteatern Utfart Knutpunkten 1 1 Essenska villan 8 Skolmuseet 4 1 Stortorget Stadsteatern 1 Utfart d) Eftersom flaskhalsen längs denna väg är Bergaliden, med en kapacitet på 8 bilar per dygn, läggs ett tänkt flöde av storlek 8 på längs hela sträckan. I residualgrafen syns detta genom att 8 dras från det ursprungliga värdet från de tre vägarna och 8 läggs till i motsatt riktning för var och en av de tre. (1p) Noder Knutpunkten Essenska villan Skolmuseet Stortorget Stadsteatern Utfart Knutpunkten 2 1 Essenska villan 8 Skolmuseet Stortorget Stadsteatern 1 Utfart 8 13
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
Lösningar till tentamen i EDAF25
Lösningar till tentamen i EDAF25 21 aug 2017 Lösning 1 Javaklasser (många varianter finns naturligtvis): class Client { private Invoker invoker; public void newcommand(string cmdtext) { Command cmd; if
Tentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas.
Tentamen i EDAF60 29 oktober 2018 Skrivtid: 14-19 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/blått/blyerts.
Tentamen i Objektorienterad modellering och design Helsingborg
Lunds Tekniska Högskola Datavetenskap Roger Henriksson, Mathias Haage, Emelie Engström Tentamen EDAF25 2015-10-28 Tentamen i Objektorienterad modellering och design Helsingborg 1. a. Klassdiagram Lösningar
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
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
Lösningar till tentamen i EDAF25
Lösningar till tentamen i EDAF25 1 juni 2017 Lösning 1 Se figur 1. Figure 1: Tillståndsdiagram espressomaskin Lösning 2 (a) Kompositmönstret (b) Se figur 2 (c) Se figur 3 : Square : Drawing : Group : Circle
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
Tentamen i Objektorienterad modellering och design Helsingborg
Lunds Tekniska Högskola Datavetenskap Emelie Engström, Ulf Asklund Tentamen EDAF25 2016 06 03 Tentamen i Objektorienterad modellering och design Helsingborg Lösningar. 1. public class VendingMachine {
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
HT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN)
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN) Dagens agenda Admin Tentatid och plats Tillåtet på tentan EDAF10 Föreläsning inför XL-projektet
Tentamen i Objektorienterad modellering och design Helsingborg
Lunds Tekniska Högskola Datavetenskap Emelie Engström, Ulf Asklund Tentamen EDAF25 2016 06 03, 14:00 19:00 Tentamen i Objektorienterad modellering och design Helsingborg Tentamen består av en teoridel
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
Information. Computer
Information Objektorienterad modellering och diskreta strukturer Lennart Andersson Reviderad 2009-10-14 2009 Tentamen torsdag 22 oktober 8-12/13. Hjälpmedel på tentamen. Martin: PPP Andersson: UML Holm:
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
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
Lösningsförslag till tentamen i EDAF25 Objektorienterad modellering och design Helsingborg
LUNDS TEKNISKA HÖGSKOLA 1(7) Institutionen för datavetenskap Lösningsförslag till tentamen i EDAF25 Objektorienterad modellering och design Helsingborg 1. a) Figure 1 2015 06 04 GeometryApp GraphicalApp
Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Tentamen i Objektorienterad modellering och diskreta strukturer
Lunds Tekniska Högskola Datavetenskap Tentamen EDAF10 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn att tas till lösningens kvalitet.
4.7 Observatörsmönstret
4.7 Observatörsmönstret Uppgift 4.11 Modifiera följande programfragment med hjälp av Observer/Observable så att Model-klassen kan kompileras utan tillgång till Gui-klassen. Lösningen ska redovisas med
Tentamen i Objektorienterad modellering och design
Lunds Tekniska Högskola Datavetenskap Ulf Asklund Tentamen EDA061 2016 06 03, 14:00 18:00 Tentamen i Objektorienterad modellering och design Tentamen består av en teoridel om totalt 5 poäng och en problemdel
Computer projekttid. Objektorienterad modellering och diskreta strukturer / design. Rapporter från verkligheten. EDAF10 i HT2
Computer projekttid Objektorienterad modellering och diskreta strukturer / design Inför tentamen Lennart Andersson Reviderad 2012 10 18 2012 2011 2012 timmar antal timmar 2 1 4 4 6 8 8 4 10 10 12 6 14
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
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
DAT043 Objektorienterad Programmering
DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är
UML Objektdiagram. Objektorienterad modellering och design (EDAF25) Föreläsning 3. UML Sekvensdiagram. UML Objektdiagram. Agenda
Objektorienterad modellering och design (EDAF25) Föreläsning 3 UML Objektdiagram Agenda UML objekt och sekvensdiagram Design smells Designprinciper (ALP, SRP, OCP, DIP) (, Composite) Att göra denna och
Objektorienterad Programkonstruktion. Föreläsning 7 24 nov 2015
Objektorienterad Programkonstruktion Föreläsning 7 24 nov 2015 Observer (GoF) Man definierar ett "ett-till-många"-förhållande mellan objekt så att när ett objekt byter tillstånd så uppdateras alla beroende
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
Tentamen, EDA501/EDAA20 Programmering M MD W BK L
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDA501/EDAA20 Programmering M MD W BK L 2017 05 31, 8.00 13.00 Anvisningar: Preliminärt ger uppgifterna 9 + 12 + 10 + 9 = 40 poäng.
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 II 2018-10-19 Skrivtid: 8:00 13:00 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
F8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander
F8 - Arv ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Arv och subklasser Klasser innehåller attribut och beteenden En subklass ärver dessa från föräldern Detta ger: Återanvänd kod
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
TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P
UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr
Tentamen, Algoritmer och datastrukturer
UNDS TEKNISKA ÖGSKOA (6) Institutionen för datavetenskap Tentamen, Algoritmer och datastrukturer 23 8 29, 8. 3. Anvisningar: Denna tentamen består av fem uppgifter. Totalt är skrivningen på 36 poäng och
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
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
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061)
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2014, FÖRELÄSNING 14 (INFÖR TENTAN) Dagens agenda Admin Tentatid och plats Tillåtet på tentan EDAF10 Föreläsning inför XL-projektet
Tentamen. DD2385 Programutvecklingsteknik vt 2015 Fredagen den 5 juni 2015 kl Hjälpmedel: penna, suddgummi, linjal
Tentamen DD2385 Programutvecklingsteknik vt 2015 Fredagen den 5 juni 2015 kl 9.00 12.00 Hjälpmedel: penna, suddgummi, linjal Tentan har två delar om vardera 30 poäng Maximala betygsgränser (gränserna kan
Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004
Lösningsförslag Programmeringsmetodik, KV: Java och OOP 17 januari 2004 Examinator: Johan Karlsson Skrivtid: 9-15 Hjälpmedel: En av följande böcker: Barnes & Kölling: Objects First With Java a practical
Tentamen Programmering fortsättningskurs DIT950
Tentamen Programmering fortsättningskurs Datum: 2015-03-17 Tid: 08.30-12.30 Hjälpmedel: Engelskt-Valfritt språk lexikon Betygsgränser: U: -23 G: 24-43 VG: 44-60 (max 60) Lärare:. Någon besöker ca 10.00
Föreläsning 13 Innehåll
Föreläsning 13 Innehåll Arv Repetition Om tentamen Datavetenskap (LTH) Föreläsning 13 HT 2017 1 / 32 Diskutera Här är början på klassen MemoryWindow som använts på en lab. Vad kan menas med extends SimpleWindow?
TENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
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
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
2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning
2I1049 Föreläsning 5 Objektorienterad programmering i Java KTH-MI Peter Mozelius Objektorientering Världar uppbyggda av objekt Inte helt olikt vår egen värld Ett sätt att modularisera våra system Objekten
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ÖSNINGSFÖRSLAG. Tentamen. Objektorienterad modellering och design. EDA665, 4 poäng
LUNDS TEKNISKA HÖGSKOLA (5) Institutionen för datavetenskap LÖSNINGSFÖRSLAG Tentamen Objektorienterad modellering och design EDA665, 4 poäng 2003-06-03, 8.00-3.00 Anvisningar: Skrivningen består av 2 uppgifter.
F9 - Polymorfism. ID1004 Objektorienterad programmering Fredrik Kilander
F9 - Polymorfism ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Polymorfism - flerformighet Vi vet vad metoden heter (signaturen) Men vi vet inte vid anropet exakt vilken metod som faktiskt
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin
DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:
TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.
Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:
UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.
Översikt UML Sekvensdiagram (dynamic structure) Informationsflöde genom programmet Användningsfall (use cases) Aktörers interaktion med systemet Paketdiagram Beroenden mellan paket abstrakta klasser Multipel
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna
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
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
TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng
TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,
Föreläsning 5. När skall man använda implementationsarv? När skall man använda implementationsarv?
När skall man använda implementationsarv? Föreläsning 5 När skall implementationsarv användas? The Open-Closed Principle (OCP) Liskov Substitution Principle (LSP) Implementationsarv är en konstruktion
TENTAMEN I DATAVETENSKAP
Umeå Universitet Datavetenskap Marie Nordström Thomas Johansson Jürgen Börstler 030124 TENTAMEN I DATAVETENSKAP PROGRAMMERINGSMETODIK OCH PROGRAMMERING I JAVA, 5P. (TDBA63) Datum : 030124 Tid : 9-15 Hjälpmedel
Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur
Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 en systematisk metod för att gå från problembeskrivning till färdigt
Tentamen, EDAA10 Programmering i Java
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2019 08 21, 08.00 13.00 Anvisningar: Preliminärt ger uppgifterna 25 + 15 + 5 = 45 poäng. För godkänt betyg
Objekt-orienterad programmering och design. DIT953 Niklas Broberg, 2018
Objekt-orienterad programmering och design DIT953 Niklas Broberg, 2018 Kursteamet Niklas Broberg kursansvarig, föreläsare, examinator Johannes Åman Pohjola föreläsare Assistenter: Karin Wibergh Sarosh
Lösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel
Lösningar till Fiktiv Tentamen på kursen 2D4135 Objektorienterad programmering, design och analys med Java vt2004 Teoridel T1) (4p) Förklara kort följande grundläggande begrepp inom objektorienterad programmering:
Föreläsningsmaterial (Arv) Skrivet av Andreas Lund
Föreläsningsmaterial (Arv) Skrivet av Andreas Lund Inledning Arv är ett begrepp som är tätt förknippat med objektorientering. Principerna bakom arv är grundade i högst vardagliga relationer mellan olika
Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15
DAVA15 Objekt, klasser Vad är det? Vad är sambandet mellan dem? Vad är skillnaden mellan dem? Tillstånd Signatur Kommunikation Typ Fält, parametrar och lokala variabler Likheter och skillnader Räckvidd
OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2
Institutionen för Data- och informationsteknik JSk TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Övningstentamen 2 TID: 4 timmar Ansvarig: Betygsgränser: Hjälpmedel: Jan Skansholm Sammanlagt maximalt
Lambdas. (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017
Lambdas (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017 Funktioner En funktion (i programmeringstermer) är en operation som tar ett eller flera argument,
Föreläsning 4 Innehåll. Abstrakta datatypen lista. Implementering av listor. Abstrakt datatypen lista. Abstrakt datatyp
Föreläsning 4 Innehåll Abstrakta datatypen lista Definition Abstrakta datatypen lista egen implementering Datastrukturen enkellänkad lista Nästlade klasser statiska nästlade klasser inre klasser Listklasser
LÖSNINGSFÖRSLAG
LÖSNINGSFÖRSLAG - 100406 Uppgift 1. a) Objekten som tillhör en icke-muterbar klass är oförändliga, dvs de behåller under hela sin livstid det tillstånd som de fick när de skapades. Icke-muterbara objekt
Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser
Abstrakta Klasser 1 God klassdesign placerar gemensamma attribut och metoder så högt som möjligt i hierarkin men ibland kan dessa egenskaper inte definieras fullständigt Abstrakta klasser innehåller ofta
Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).
1 (11) TENTAMEN: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt idnummer på varje blad (så att
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,
Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016
Objekt-orienterad Programmering och Design TDA551 Alex Gerdes, HT-2016 Kursteamet Dr. Alex Gerdes kursansvarig, föreläsare Dr. Niklas Broberg examinator, (föreläsare) Fredrik Sjöholm handledare Johan Andersson
Separation of Concern. Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018
Separation of Concern Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018 Modulär design Fördelar med välgjord modulär design: Lätt att utvidga Moduler går
TENTAMEN: Objektorienterad programmering. Läs detta! Skriv din tentamenskod på varje blad (så att vi inte slarvar bort dem).
1 (7) TENTAMEN: Objektorienterad programmering Läs detta! Uppgifterna är inte ordnade efter svårighetsgrad. Börja varje hel uppgift på ett nytt blad. Skriv inte i tesen. Ordna bladen i uppgiftsordning.
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
Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.
Tentamen 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.00, sal D31 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram
Analys och design med hjälp av CRC 83 Klassdiagram Objekt Ett objekt är en individuellt identifierbar entitet som kan vara konkret eller abstrakt. Ett objekt har tillstånd, beteende och identitet. Reellt,
TENTAMEN OOP
TENTAMEN OOP 2014-01-19 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
if (n==null) { return null; } else { return new Node(n.data, copy(n.next));
Inledning I bilagor finns ett antal mer eller mindre ofullständiga klasser. Klassen List innehåller några grundläggande komponenter för att skapa och hantera enkellänkade listor av heltal. Listorna hålls
HT1 2015, FÖRELÄSNING 14 (INFÖR TENTAN)
Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2015, FÖRELÄSNING 14 (INFÖR TENTAN) Dagens agenda Admin DS-föreläsning nästa torsdag 22/10 kl 13-15 Tentatid och plats Tillåtet
Objektorienterad Programkonstruktion, DD1346. Tentamen , kl
Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 Tentamen 2016 03 18, kl. 14.00 17.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del I
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.
"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde
Föreläsning 7 "Har en"-relation Arv "Har en" "Är en" Superklassen Object Överskuggning Fordonsexempel Seminarium 2 Relevanta uppgifter Uppgift 31 I exemplet Boll från förra föreläsningen gällde följande
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
Separation of Concern. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Johannes Åman Pohjola, 2017
Separation of Concern Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Johannes Åman Pohjola, 2017 Modulär design Ett programsystem är för stort för att kunna förstås i sin helhet.
Målen med OOSU. Objektorienterad programmering. Objektorienterad programmering. Karlstads Universitet, Johan Öfverberg 1
Objektorienterad programmering Vi började med att programmera i main, sedan gick vi vidare till flera metoder i en klass. Nu är det dags för flera klasser. Objektorienterad programmering Relationer mellan
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
Teoretisk del. Facit Tentamen TDDC (6)
Facit Tentamen TDDC30 2014-08-29 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är skillnaden mellan synligheterna public, private och protected? (1p) Svar:public: Nåbar för
OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1
Institutionen för Data- och informationsteknik JSk TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Övningstentamen 1 OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer.
Integritetsprincipen. Objektorienterad modellering och diskreta strukturer / design
Integritetsprincipen Objektorienterad modellering och diskreta strukturer / design Designmönster och fallstudier Integritetsprincipen Gör attribut, metoder och klasser så hemliga de går. Lämna inte ut
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:
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
Kursombud. Objektorienterad modellering och diskreta strukturer / design. Agile? Designprinciper EDAF10 EDA061. Lennart Andersson. Grupper för projekt
Kursombud Objektorienterad modellering och diskreta strukturer / design Designprinciper Lennart Andersson EDAF10 EDA061 Reviderad 2010 09 02 2010 OMD 2010 F2-1 Att göra Agile? OMD 2010 F2-2 Grupper för
Tentamen Datastrukturer (DAT037)
Tentamen Datastrukturer (DAT07) Datum och tid för tentamen: 2016-01-09, 14:00 18:00. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker tentamenssalarna ca 15:00 och ca
Tentamen Programmeringsteknik II Skrivtid: Hjälpmedel: Java-bok (vilken som helst) Skriv läsligt! Använd inte rödpenna!
Tentamen Programmeringsteknik II 2014-01-09 Skrivtid: 0800-1300 Hjälpmedel: Java-bok (vilken som helst) Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja
Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
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
Objektorienterad analys och design
Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 1 Objekt-orienterad analys och design: Litteratur Skansholm: Kapitel 4 Se även 1. http://www.uml.org/ 2. http://www-306.ibm.com/software/rational/uml/
Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag
Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag Datum: 2008-08-14 Tid: 08-12 Plats: PC6-PC7 i E-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna varje
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
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