Teoridel (svaren direkt på lydelsen)

Storlek: px
Starta visningen från sidan:

Download "Teoridel (svaren direkt på lydelsen)"

Transkript

1 ND, KTH 2D Sid (0) Tentamen i 2D359 Objektorinterad modellering programmering och analys Tisdag den 20 oktober 998 kl. 4-9 MED KORT LÖSNINGSFÖRSLG Inga hjälpmedel tillåtna. Poäng och betyg: För betyget 3, 4 och 5 krävs 20, 26 respektive 32 poäng (av möjliga 40). Övriga anvisningar: Teoridelen besvaras på dom prickade linjerna under respektive fråga och lämnas in tillsammans med övriga svarsblad. Lösningar till problemdelen lämnas in på separata blad. Frågorna ej säkert i svårighetsordning! Teoridel (svaren direkt på lydelsen). (2) Förklara vad följande begrepp innebär inom objektorienterad programmering: a) Överlagring (eng. overloading) Se udd avsnitt ordlistan sidan 355 b) Överskrivning (eng. overriding) Se udd avsnitt ordlistan sidan 355

2 ND, KTH 2D Sid 2 (0) 2. (2) Vad innebär det att ett programspråk är statiskt typat? I ett statisk typat språk anges typer för alla variabler, argument och metoder. Typkontroll kan utföras utgående från enbart programkoden. I kurslitteraturen stå det om (snarlika) startkt typade språk! Därför godkänns en beskrivning av sådana: Ett programmeringsspråk är starkt typat om typkompabilitet för alla uttryck som representerar värden kan avgöras från programkoden vid kompileringstillfället. 3. (5) Para ihop var och en av begreppen i svarstabellen med den beskrivning i den inledande listan av beskrivningar som bäst passar (0 av 4 beskrivningar skall alltså användas). För varje rätt svar får du plus en halv poäng och för varje felaktigt minus en halv poäng på den totala poängsumman på tentan (inget svar ger varken plus eller minus).. nvändaren av en komponent måste erbjudas all nödvändig information men ingen annan. aseras på inkapsling, polymorfi och arv C. enämningen på en uppmaning till ett objekt att utföra någonting D. eskrivningen av hur ett objekt skall reagera på ett visst meddelande E. estår av tekniker att hitta objekt, för att strukturera relationer och hantera processen att skapa objekt F. Detaljer i implementationen döljs G. En beskrivning av en viss uppsättning av objekts attribut och beteende H. En brainstormingliknande process I. En inkapsling av data och algoritmer för att manipulera dessa data J. En subklass kan definiera ett attribut med samma namn som ett i en superklass K. En variabel L. Ett objekt av en viss klass M. Meddelanden får endast skickas till argument, instansvariabler, nya objekt som returneras av en meddelandesändning eller globala variabler N. Olika klasser kan ha metoder med samma namn Svarstabell: egrepp Inkapsling Instans Klass Meddelande Metod Objektorienterad analys och design Objektorienterat språk Parnas princip Polymorfi The Law of Demeter ästa alternativ F L G C D E N M

3 ND, KTH 2D Sid 3 (0) 4. (5) Diskutera fördelar respektive nackdelar med arv respektive komposition. Se udd avsnitt , 0.2

4 ND, KTH 2D Sid 4 (0) 5. (3) Para ihop figurerna med den klassificering av typen av arv som bäst stämmer. Ellipse Rectangle Window Circle Square Win95Window MacWindow MotorLandVehicle C Polyline Vector tank engine Cartoon Stack wheels() speed() D Circle Square Car ike Lorry MotorCycle E Vector F Collection GraphicObject Ellipse Car Rectangle oat Set GraphicComponent mphibiouscar Svarstabell: Typ av arv rv för specifikation (eng. inheritance for specification) rv för specialisering (eng. inheritance for specialization) rv för konstruktion (eng. inheritance for construction) rv för utvidgning (eng. inheritance for extension) rv för begränsning (eng. inheritance for limitation) rv för kombinering (eng. inheritance for combination) Matchande figur C D E F 6. (3) Förklara kortfattat vad designmönster är (eng. design patterns) samt vad de är användbara till. Se föreläsningsanteckningar + udd kapitel 5 + EG

5 ND, KTH 2D Sid 5 (0) Problemdel (svaren på separata blad) 7. (4) nvänd den fragmentariska bekrivningen av klassen Vector nedan för att konstruera en mängdklass Set. I ett Set skall ett visst objektet endast få förekomma en gång, dvs om man försöker lägga till ett objekt som redan finns i mängden så skall ingenting hända. Implementera metoder så att följande meddelanden förstås av instanser av klassen. boolean isempty() //Är mängden tom? int size() //ntalet element i mängden void add(object) //Lägg till ett objekt boolean contains(object) //Finns objektet redan i mängden? boolean remove(object) //Ta bort objektet från mängden, fanns objektet i mängden så skall true returneras annars false. public class Vector { //Är vektorn tom? public boolean isempty() {... //Hur stor är vektorn? public int size() {... //Ingår elem i vektorn? public boolean contains(object elem) {... //Vilket element finns vid index? public Object elementt(int index) {... Genom att: //Första elementet public Object firstelement() {... //Sista elementet public Object lastelement() {... //lägg till obj sist i vektorn public void addelement(object obj) {... /* ta bort obj från vektorn om obj fanns i vektorn så returneras true annars false */ public boolean removeelement(object obj) { a) implementera mängdklassen som subklass till Vector b) använda komposition via en instans av Vector. Lösning: a) b) class SetInh extends Vector { public void add(object o) { if(!contains(o)) this.addelement(o); public boolean remove(object o) { return removeelement(o); class SetComp { private Vector v = new Vector(); public int size(){

6 ND, KTH 2D Sid 6 (0) return v.size(); public boolean isempty(){ return v.isempty(); public boolean contains(object o){ return v.contains(o); public void add(object o){ if(!contains(o)) v.addelement(o); public boolean remove(object o){ return v.removeelement(o); 8. (4) Ett enkelt centralvärmesystem är uppbyggt av ett flertal värmelement med anslutna temperatursensorer. åde sensorer och värmelement är kopplade till en kontrollenhet. En sensor känner av temperaturen i en viss del av en byggnad och rapporterar till kontrollenheten om den med viss marginal avviker (uppåt eller neråt) från ett givet förinställt värde.

7 ND, KTH 2D Sid 7 (0) I dessa fall slår kontrollenheten antingen på eller av det värmelement som den aktuella sensorn är kopplad till. a) Konstruera ett klassdiagram på konceptuell nivå som beskriver systemet och de ingående objektens associationer. b) Rita ett sekvensdiagram som illustrerar meddelandeflödet mellan en sensor, kontrollenheten och värmeelementen både då sensorn meddelar att temperaturen är för låg och för hög. c) Konstruera ett tillståndsdiagram för en sensor. Ledning: i alla tre deluppgifterna räcker det med väldigt enkla diagram! Lösning: Några av flera möjliga lösningar a) Sensor Värmeelement..* * * Kontroll b) :Sensor :Kontroll :Värmeelement temp low(s n ) temp high(s n ) turn on() turn off() c). Temperature low enter/^kontroll.temperaturelow() [temperature low] Check high enter/check temperature Check low enter/check temperature [temperature high] Temperature high enter/^kontroll.temperaturehigh()

8 ND, KTH 2D Sid 8 (0) 9. (5) En enkel digital klocka har en urtavla och två knappar för att ställa in klockan. Klockan har två huvudlägen, visa tid och ställ in tid. I visa-tid-läget visas timmar och minuter. Ställin-tid-läget har två underordnade lägen, ställ-in-timmar respektive ställ-in-minuter. -knappen används för att ändra operationslägen: visa-tid, ändra-timmar, ändraminuter, visa-tid, osv. I operationslägena ändra-timmar respektive ändra-minuter används -knappen för att flytta fram timmarna respektive minuterna ett steg vid varje tryckning. åde -knappen och -knappen måste släppas innan en ny "händelse" utlöses. a) Konstruera ett tillståndsdiagram för klockan. b) Nu skall vi revidera klockan så att vi får en möjlighet att snabbare ställa in timmar och minuter. Om man i läget för att ställa in timmar eller minuter trycker på -knappen mer än 3 sekunder så skall timmarna respektive minuterna automatiskt räknas fram en gång per halvsekund. Konstruera ett tillståndsdiagram för klockan enligt denna reviderade modell. 7:5 Lösning: a) Display time do/show hours and minutes Set hours do/show hours Set minutes do/show minutes /increment hours /increment minutes b) Förfina tillståned Set hours och Set minutes (enklast via deltillstånd) Set hours Set minutes... Step /increment hours /increment min Step Waiting Waiting after(3s)/increment hours after(3s)/increment min uto uto after(0.5s)/increment hours do/show hours after(0.5s)/increment min do/show minutes 0. (7) Ett bolag för lokaltrafik i ett visst område använder sig av bussar och tunnelbanor för att transportera passagerare. Varje buss och tunnelbana tillhör ett garage. Vidare finns det en trafikledning med ansvar för att koordinera trafiken, bemanna bussar och tunnelbanor, samt ta hand om eventuellt uppkommande problem. Personalen på bolaget tillhör antingen kategorin förare eller trafikledare. En person som är trafikledare är knuten till trafikledningen och en som är förare till ett garage. ll personal har ett anställningsnummer, lön, arbetss-

9 ND, KTH 2D Sid 9 (0) chema samt eventuellt en chef. En förare har antingen kompetens att köra buss, tunnelbana eller bådadera. a) Konstruera CRC-kort över problemet. b) Konstruera ett klassdiagram med lämpliga arvshierarkier, associationer och beroenden. Diagrammet skall vara på konceptuell nivå. Lösning: a) CRC-kort används vanligen för att "brainstorma" fram klasser och relationer under flera iterationer. Efter en eller möjligen ett par iterationer skulle vi kunna ha identifierat följande klasser, ansvarsområden och relationer: Person subklasser: Förare, Ledare Hantera anställningsnummer, lön, arbetsschema Ledare superklasser: Person Sköter trafikledning Trafikled ning Trafikledning Koordinerar trafik Ledare Förare superklasser: Person Kompetens Fordon subklasser: uss, Tunnelbana Transporerar passagerare Hantera servicestatus, antal säten, årsmodell, presetanda mm uss superklasser: Fordon Garage Kör buss och/eller tunnelbana Garage Har hand om fordon och förare. emannar. Garage Fordon Förare eskriver en förares kompetens Förare Tunnelbana superklasser: Fordon olag Garage Trafikledning Rout Hantera väg-rout och tidtabell Fordon b) (som sagt konceptuell nivå) Trafikledn * Ledare /anställd olag * Schema underställd Person 0.. * chef chefar4 * Förare * Garage..2 Kompetens {en eller båda av komptenserna usskomp Tunnelbkomp * Fordon * Rout uss Tunnelb

10 ND, KTH 2D Sid 0 (0) Referenser udd - UML Distilled pplying The Standard Object Modelling Language st Edition, M. Fowler, K. Scott, pages, ddison-wesley Fowler - Understanding Object-Oriented Programming With Java st Edition, Timothy udd, pages, ddison-wesley C - Laboratory For Teaching Object-Oriented Thinking, Kent eck och Ward Cunningham, 989. PW - Dimensions of Object-ased Language Design, Peter Wegner, 987. WW - Object-Oriented Design: Responsibility-Driven pproach, Rebecca Wirfs-rock och rian Wilkerson, 989. EG - Utdrag ur Design Patterns Elements of Reusable Object-oriented Software (mönstret Observer) av Gamma, Helm, Johnson och Vlissides, 994.

Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl

Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl NADA, KTH OOMPA 1998-10-13 Sid 1 (8) Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl. 11-13 Inga hjälpmedel tillåtna. Poäng och betyg: För godkänt

Läs mer

Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl

Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl NADA, KTH OOMPA 998-0-3 Sid () Extentamen i 2D359 Objektorinterad modellering programmering och analys Tisdag den 3 oktober 998 kl. -3 MED KORTA LÖSNINGSFÖRSLAG I dom flesta fall finns också lösningarna

Läs mer

Teoridel (svaren direkt på lydelsen)

Teoridel (svaren direkt på lydelsen) NADA, KTH 2D359 & 2D360 999-0-23 Sid () Tentamen i 2D359 & 2D360 Objektorienterad modellering programmering och analys Lördag den 23 oktober 999 kl. 4-9 MED KORTA LÖSNINGSFÖRSLAG Inga hjälpmedel tillåtna.

Läs mer

OOMPA 2D1359 Föreläsning 8

OOMPA 2D1359 Föreläsning 8 OOMPA 2D1359 Föreläsning 8 Innehåll Arv, polymorfi och gränssnitt Arv Subtyp, ersättbarhet Olika former av arv Polymorfi Abstrakta klasser och gränssnitt - 1 - Arv l Arv är fundamentalt i objektorienterad

Läs mer

Objektkonstruktion. Vilka sorter finns? Varför ärver vi? Aggregering ger en lösare koppling till delarna än komposition. 1nJUDÃJUXQGOlJJDQGHÃUHJOHU

Objektkonstruktion. Vilka sorter finns? Varför ärver vi? Aggregering ger en lösare koppling till delarna än komposition. 1nJUDÃJUXQGOlJJDQGHÃUHJOHU 'HVLJQDYREMHNW 6HSWHPEHUÃÃ +XUÃVNDSDUÃYLÃREMHNWÃRFKÃNODVVHU" 1nJUDÃJUXQGOlJJDQGHÃUHJOHU %M UQÃ(LGHUElFN 1$'$Ã.7+ (PDLOÃEMRUQH#QDGDNWKVH Innehåll Arv eller komposition/aggregering Cohesion och coupling

Läs mer

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. 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

Läs mer

OOMPA 2D1359 Föreläsning 2

OOMPA 2D1359 Föreläsning 2 OOMPA 2D1359 Föreläsning 2 Objektorienterad Modellering Programmering och Analys Objektorientering grunder l Vad är OO? Programspråk?, paradigm?, gränssnitt?, struktur?, eller? l Termer och fundament Objekt,

Läs mer

Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts.

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äs mer

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

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

Läs mer

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 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

Läs mer

Laboration 1: Figurer i hierarki

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

Läs mer

Tentamen i Objektorienterad modellering och design Helsingborg

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

Läs mer

F8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander

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

Läs mer

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15

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

Läs mer

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 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:

Läs mer

Föreläsning 15: Repetition DVGA02

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

Läs mer

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

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

Läs mer

Tentamen i Objektorienterad modellering och design

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äs mer

Föreläsning 13 Innehåll

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?

Läs mer

2D1359 & 2D1360. Informationsblad 1, 3 September Objektorienterad analys, modellering och design: principiella tillvägagångssätt,

2D1359 & 2D1360. Informationsblad 1, 3 September Objektorienterad analys, modellering och design: principiella tillvägagångssätt, 2D1359 & 2D1360 OOMPA-99 Informationsblad 1, 3 September 1999 INTRODUKTION av Björn Eiderbäck, kursledare. Hej och välkommen till, Objektorienterad Modellering Programmering och Analys. Kursen är på 6

Läs mer

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 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äs mer

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 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

Läs mer

Static vs Dynamic binding Override vs Overload. Objekt-orienterad programmering och design Alex Gerdes och Sólrún Halla Einarsdóttir, 2018

Static vs Dynamic binding Override vs Overload. Objekt-orienterad programmering och design Alex Gerdes och Sólrún Halla Einarsdóttir, 2018 Static vs Dynamic binding Override vs Overload Objekt-orienterad programmering och design Alex Gerdes och Sólrún Halla Einarsdóttir, 2018 Quiz: Gissa typen? Object o = new Square(100,100); Polygon p =

Läs mer

DAT043 - Föreläsning 7

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

Läs mer

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

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

Läs mer

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? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2016 2014 jonas.kvarnstrom@liu.se

Läs mer

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. 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

Läs mer

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering

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

Läs mer

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

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

Läs mer

Länkade strukturer. (del 2)

Länkade strukturer. (del 2) Länkade strukturer (del 2) Översikt Abstraktion Dataabstraktion Inkapsling Gränssnitt (Interface) Abstrakta datatyper (ADT) Programmering tillämpningar och datastrukturer 2 Abstraktion Procedurell abstraktion

Läs mer

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 TDDE11, 725G90 Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Arv Polymorf UML (klassdiagram) 1 Arv Möt tre studenter

Läs mer

Objektorienterad programmering i Java

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

Läs mer

F12 - Collections. ID1004 Objektorienterad programmering Fredrik Kilander

F12 - Collections. ID1004 Objektorienterad programmering Fredrik Kilander F12 - Collections ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Collections (samlingar) En collection är ett objekt som fungerar som en samling av andra objekt En collection erbjuder

Läs mer

TENTAMEN OOP

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

Läs mer

Innehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och

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

Läs mer

Objektorientering. Grunderna i OO

Objektorientering. Grunderna i OO Objektorientering Grunderna i OO 1 Systemutveckling Tre systemnivåer: Verksamhet Informationssystem Datasystem Huvuduppgifterna i ett systemutvecklingsarbete: Verksamhetsanalys Informationsbehovsanalys

Läs mer

Objektorienterad Systemutveckling 1 (7,5 hp)

Objektorienterad Systemutveckling 1 (7,5 hp) [ sida 1 ] Objektorienterad Systemutveckling 1 (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen (5 hp) 21OB1B ASYST13h, NGIMI13h, ADAEK13h Datum och tid: 2015-01-14, kl. 09.00 13.00 Hjälpmedel:

Läs mer

LÖSNINGSFÖRSLAG. Tentamen. Objektorienterad modellering och design. EDA665, 4 poäng

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.

Läs mer

..arv Arv kan delas in i två huvudtyper Arv för specifikation dvs arv av protokoll Arv av kod dvs arv av beteende och struktur. 2203$ ) UHOlVQLQJ.

..arv Arv kan delas in i två huvudtyper Arv för specifikation dvs arv av protokoll Arv av kod dvs arv av beteende och struktur. 2203$ ) UHOlVQLQJ. Arv, polymorfi och gränssnitt Innehåll 2203$ ) UHOlVQLQJ Arv Subtyp, ersättbarhet Olika former av arv Polymorfi Abstrakta klasser och gränssnitt..arv Arv kan delas in i två huvudtyper Arv för specifikation

Läs mer

OOP Tenta

OOP Tenta Stockholms universitet sid 1 OOP OOP Tenta 2012-01-14 10.00 15.00 Avser kurserna DSK1:OOP och GES:OOP Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt

Läs mer

Tentamen i Objektorienterad modellering och diskreta strukturer

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

Läs mer

Föreläsning 9: Arv och UML

Föreläsning 9: Arv och UML TDA 545: Objektorienterad programmering Föreläsning 9: Arv och UML Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Quiz Vad betyder static? Varför skriver man get-metoder? public int getpos() { return pos;

Läs mer

TENTAMEN OOP

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

Läs mer

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. 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

Läs mer

Föreläsning REPETITION & EXTENTA

Föreläsning REPETITION & EXTENTA Föreläsning 18 19 REPETITION & EXTENTA Programmeringsteknik på 45 minuter Klasser och objekt Variabler: attribut, lokala variabler, parametrar Datastrukturer Algoritmer Dessa bilder är inte repetitionsbilder

Läs mer

Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser

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 mer

Repetition av OOP- och Javabegrepp

Repetition av OOP- och Javabegrepp ArrayList Repetition av OOP- och Javabegrepp En lista i vilken man kan lagra objekt Implementerar List-interfacet Skiljer sig från ett vanligt endimensionellt fält: Dynamisk expanderar när den blir

Läs mer

Abstrakt datatyp. -Algoritmer och Datastrukturer- För utveckling av verksamhet, produkter och livskvalitet.

Abstrakt datatyp. -Algoritmer och Datastrukturer- För utveckling av verksamhet, produkter och livskvalitet. -Algoritmer och Datastrukturer- Abstrakt datatyp Datatyp för en variabel Betecknar i ett programmeringsspråk den mängd värden variabeln får anta. T ex kan en variabel av typ boolean anta värdena true och

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Instansiering Åtkomst Abstrakt datatyp UML Överlagring

Läs mer

Kurskod D0010E Datum 2012-05-15 Skrivtid 5tim

Kurskod D0010E Datum 2012-05-15 Skrivtid 5tim LULEÅ TEKNISKA UNIVERSITET Tentamen i Objektorienterad programmering och design Totala antalet uppgifter: 5 Lärare: Håkan Jonsson, 491000, 073-820 1700 Resultatet o entliggörs senast: 2012-05-29. Tillåtna

Läs mer

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till

Läs mer

Repetition av OOP- och Javabegrepp

Repetition av OOP- och Javabegrepp ArrayList Repetition av OOP- och Javabegrepp En lista i vilken man kan lagra objekt Implementerar List-interfacet Skiljer sig från ett vanligt endimensionellt fält: Dynamisk expanderar när den blir

Läs mer

Objektorienterad programmering

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

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Introduktion HT2 Åtkomst Abstrakt datatyp UML Överlagring

Läs mer

Föreläsning 10. ADT:er och datastrukturer

Föreläsning 10. ADT:er och datastrukturer Föreläsning 10 ADT:er och datastrukturer ADT:er och datastrukturer Dessa två begrepp är kopplade till varandra men de står för olika saker. En ADT (abstrakt datatyp) är just abstrakt och är inte kopplad

Läs mer

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim  Agenda (halvdag) Objektorienterad programmering Föreläsning 8 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Objektorienterad programutveckling Algoritmer Algoritmkonstruktionerna Relationer

Läs mer

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

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

Läs mer

Tentamen i Grundläggande programmering STS, åk

Tentamen i Grundläggande programmering STS, åk Tentamen i Grundläggande programmering STS, åk 1 2004-05-24 Skrivtid: 14.00-19.00 Hjälpmedel: Inga Lärare: Anders Berglund. Anders besöker tentan cirka kl. 15.00 samt cirka kl 16.45. Observera: Programkod

Läs mer

Laboration 2: Designmönster

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äs mer

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar Klassbegreppet och C++ OOP UML Klasser och objekt i C++ Uppdelning i filer Attribut och metoder Inkappsling - åtkomst Klassattribut - objektattribut Objekt-orienterad programmering Att använda ett objektorienterat

Läs mer

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga. Tentamen Programmeringsteknik II 2014-0-27 Skrivtid: 0800 100 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 på nytt papper. Lägg

Läs mer

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

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

Läs mer

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, 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

Läs mer

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

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

Läs mer

Lösningar till tentamen i EDAF25

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

Läs mer

Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:

Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid: Tentamen för TDA540 Objektorienterad Programmering Institutionen för Datavetenskap CTH HT-17, TDA540 Dag: 2018-01-13, Tid: 14.00-18.00 Ansvarig: Examinator: Alex Gerdes Carlo A. Furia Förfrågningar: Alex

Läs mer

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14

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

Läs mer

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram

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,

Läs mer

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

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äs mer

Lösningar till tentamen i EDAF25

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

Läs mer

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

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

Läs mer

Java-syntax (arv) Exempel: public class Crow extends Bird {... } Jämför med Lab 1: public class FirstApp extends Frame {... }

Java-syntax (arv) Exempel: public class Crow extends Bird {... } Jämför med Lab 1: public class FirstApp extends Frame {... } Föreläsning 3 Arv Kategorisering Stora program leder till många klasser (tänk liknelsen med en affär med många varor). Att dela in saker i kategorier är en vanlig strategi för att hantera stora komplexa

Läs mer

PROGRAMMERINGSTEKNIK TIN212

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

Läs mer

Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser

Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser Hur används hierarkier för att modellera nära relaterade typer? Nu:

Läs mer

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor Abstrakta datatyper 1 Primitiva vektorer Vektorer kan skapas av primitiva datatyper, objektreferenser eller andra vektorer. Vektorer indexeras liksom i C från 0. För att referera en vektor används hakparenteser.

Läs mer

Föreläsning 8. Designmönster

Föreläsning 8. Designmönster Föreläsning 8 Designmönster Designmönster När man designar program kan det vara viktigt att förstå hur man tidigare gått till väga när man konstruerat program. Kännedom om dessa tillvägagångssätt kan snabba

Läs mer

Tentamen i Grundläggande programmering STS, åk 1 fredag

Tentamen i Grundläggande programmering STS, åk 1 fredag Tentamen i Grundläggande programmering STS, åk 1 fredag 2002-08-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.

Läs mer

F9 - Polymorfism. ID1004 Objektorienterad programmering Fredrik Kilander

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

Läs mer

Tentamen ID1004 Objektorienterad programmering October 29, 2013

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.

Läs mer

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

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

Läs mer

TENTAMEN OOP

TENTAMEN OOP TENTAMEN OOP 2014-03-15 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

Läs mer

Arv. Objektorienterad och komponentbaserad programmering

Arv. Objektorienterad och komponentbaserad programmering Arv Objektorienterad och komponentbaserad programmering Arv Regel nr 1: Ett objektorienterat språk ska tillåta inkapsling av data Regel nr 2: Ett objektorienterat språk ska tillåta arv Regel nr 3: Ett

Läs mer

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

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

Läs mer

Inkapsling (encapsulation)

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.

Läs mer

Imperativ programmering. Föreläsning 4

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

Läs mer

Outline. Objektorienterad Programmering (TDDC77) Laborationsserie del två. Vad händer under HT2. Introduktion HT2 UML.

Outline. Objektorienterad Programmering (TDDC77) Laborationsserie del två. Vad händer under HT2. Introduktion HT2 UML. Outline Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Vad händer under HT2 Laborationsserie del två I Klasser

Läs mer

Tentamen Objekt-orienterad programmering i Java, 5p distanskurs

Tentamen Objekt-orienterad programmering i Java, 5p distanskurs Tentamen 2006-05-06 Objekt-orienterad programmering i Java, 5p distanskurs Uppsala Universitet Instutitionen för informationsteknologi Avdelningen för datalogi Kursansvarig: Sven-Olof Nyström May 2, 2007

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Överlagring (overloading) Arv

Läs mer

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.

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

Läs mer

Introduktion. Byggstenar TDBA63 2005-11-22

Introduktion. Byggstenar TDBA63 2005-11-22 Introduktion UML står för Unified Modeling Language. Det är tänkt att fungera som hjälpmedel vid modellering av alla tänkbara typer av utvecklingsarbeten, inte bara inom dataomdrådet. Det största värdet

Läs mer

Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).

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

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015 Objektorienterad Programkonstruktion Föreläsning 6 23 nov 2015 Designmönster Färdiga "recept" för att lösa (del-)problem i struktureringen av ens program Mönster kan beskriva små komponenter eller stora

Läs mer

Arv (Inheritance) Multipelt arv finns i verkligheten. Överskuggning, metodbindning. Läsanvisning: ! Arv! Object, instanceof! Relationer!

Arv (Inheritance) Multipelt arv finns i verkligheten. Överskuggning, metodbindning. Läsanvisning: ! Arv! Object, instanceof! Relationer! itop F8 Arv (Inheritance) Läsanvisning: arv: i kap 10, exceptions: i kap 15 mer kommer sen UML: tas bara upp i OH Object Kalle Student Person Graduate Lärare! Arv! Object, instanceof! Relationer! UML Nästa

Läs mer

Tentamen i Objektorienterad modellering och diskreta strukturer

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

Läs mer

Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.

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

Läs mer

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga 203-03-9 203-03-9 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6

Läs mer

Lösningsförslag till tentamen i EDAF25 Objektorienterad modellering och design Helsingborg

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

Läs mer

Laboration 1 - Grunderna för OOP i Java

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

Läs mer

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

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

Läs mer