Objektorienterad Systemutveckling (7,5 hp)

Storlek: px
Starta visningen från sidan:

Download "Objektorienterad Systemutveckling (7,5 hp)"

Transkript

1 [ sida 1 ] Objektorienterad Systemutveckling (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen 21OS1B DE11, IMIT11, SYST11 (omtentamen) Datum och tid: , kl Hjälpmedel: Inga hjälpmedel tillåtna Tentamen är färdigrättad inom 4 veckor ( ). Därefter kan inregistreringen av resultatet ta ca en vecka, dvs att resultatet bör vara synligt på MittKonto senast Betyg: OBS! Denna tentamen är gjord i flera delar. Eventuella godkända delar från tentamen eller blir automatiskt överförda till denna tentamen och rättas därför inte vid denna tentamen. Om någon återstående del av tentamen inte når upp till godkänt för den delen (50%), blir betyget på tentamen Underkänd. För betyget Godkänd eller högre måste samtliga delar vara godkända, dvs uppnå minst 50% av möjliga poäng på respektive del. Om delar från tidigare tentamen förts över kommer poängen på kvarvarande delar att räknas om relativt mot den förbrukade tiden vid denna tentamen. För betyget Väl Godkänd måste därefter minst 75% av möjliga poäng ha uppnåtts på tentamen som helhet. Maxpoäng på denna tentamen är 100 poäng. Allmänna anvisningar: 1. Skriv endast på ena sidan av pappret, ej fram och baksida. 2. Ange tydligt till vilken fråga svaret hör. 3. Lägg svaren i samma ordning som frågorna i tentamenshäftet (del A = fråga 1) 4. Svårlästa svar kan inte rättas! 5. Ansträng er att besvara frågorna tydligt. 6. Markera på omslaget till tentamen vilka frågor du lämnat svar på. 7. Om du finner uppgifterna i tentamenstexten ofullständiga skall du göra egna antaganden för de uppgifter du saknar. Redovisa dina egna antaganden. Samtliga frågor besvaras med kurslitteratur och föreläsningar som utgångspunkt. Om du använt ytterligare informationsmaterial för dina svar, anger du vilket material i dina svar. Ett tips är att du ägnar som första steg lite tid åt att gå igenom frågorna för att därigenom planera och disponera tiden på bästa sätt. Du bör även vid denna inspektion fundera lite över hur frågan är formulerad för att uttolka frågans intention. Begrepp som t ex, diskutera, exemplifiera, beskriv och förklara säger något om frågans innebörd och hur du bör svara. Lycka till med tentamen! Björn Abelli OBS!! Vid en skriftlig tentamen måste studenten visa att han/hon har tillräckliga kunskaper inom problemområdet. Många gånger är det möjligt att ge exempel och illustrera, ibland det bästa eller till och med det enda sättet, och kan påverka poängsättningen för svaret. Om du anser att en frågeställning inte är komplett, så är det upp till dig att komplettera med eventuellt saknade förutsättningarna. I sådana fall måste du också ange eventuella tillkommande förutsättningar i ditt svar.

2 [ sida 2 ] OBS! Denna tentamen är gjord i flera delar. Om del A av tentamen inte når upp till godkänt (50%), blir betyget på tentamen Underkänd; Om del A når upp till Godkänt rättas övriga delar. För betyget Godkänd eller högre måste samtliga delar vara godkända, dvs uppnå minst 50% av möjliga poäng på delen. För betyget Väl Godkänd måste därutöver 75% av möjliga poäng ha uppnåtts på tentamen som helhet. Markera rätt svar för kryssfrågorna med ett tydligt X i därför avsedd ruta i svarsfälten nedan. På kryssfrågorna är endast ett svar korrekt. Om mer än en ruta är ikryssad på en fråga räknas det som ett felaktigt svar. Svarsformulär för del A (huvudfråga 1) Varje korrekt svar ger 1 poäng, dvs max 25 poäng för denna del. Glöm inte att lägga denna sida i det gula tentamenshäftet!

3 [ sida 3 ] Frågor för del A (Huvudfråga 1). Fyll i dina svar på sidan 2! 1. I diagrammet till höger betyder + att attributet titel har synlighet a. public b. protected c. private d. internal 2. I diagrammet till höger a. Ärver BokRegister från IList b. Ärver IList från BokRegister c. Implementeras BokRegister av IList d. Implementeras IList av BokRegister 3. Diagrammet till höger kan tolkas som ett exempel på GoF-mönstret a. low cohesion b. observer c. adapter d. composite 4. Att BokProxy är i kursiv stil innebär att den klassen är.. a. ett interface b. abstrakt c. en subklass d. indikativ 5. Triangeln innebär att BokDBMS a. är en superklass b. ärver alla egenskaper BokProxy har c. kan ha högst tre instanser d. ingår i klassen BokProxy 6. Att HämtaBok i BokProxy är i kursiv stil innebär a. att operationen inte får överskuggas b. att subklasser måste implementera egna metoder för den operationen c. att HämtaBok är en löv-operation d. att den får implementeras i C# 7. I diagrammet betyder att a. en Bok associeras till endast en instans av BokRegister b. ett BokResister associeras till endast en instans av Bok c. en Bok kan associeras till valfritt antal instanser av BokRegister d. ett BokRegister kan associeras till valfritt antal instanser av Bok 8. Två associationer i diagrammet till höger har pilhuvuden. Dessa pilhuvuden betyder a. att BokRegister är mottagare av meddelandena från Bok och BokProxy b. att ett meddelande inte får en retur-respons c. att associationen är uni-directional d. att associationen är bi-directional 9. En komposition innebär.. a. en svagare koppling än ett aggregat, men starkare än en enkel association b. en svagare koppling än en enkel association, men starkare än ett aggregat c. en starkare koppling än både aggregat och enkla associationer, d. en svagare koppling än både aggregat och enkla associationer

4 [ sida 4 ] 10. Med multipelt arv menas a. att en klass kan vara superklass till flera subklasser b. att en klass kan vara subklass till flera superklasser c. att ett interface kan implementeras utav flera klasser d. att en klass kan implementera flera interface 11. Med protokoll avses inom objektorienteringen a. att ett anrop av en metod i ett annat objekt vid kompileringstillfället binds till en adress dit exekveringen skall hoppa (läsa instruktionerna) b. paketeringen av meddelandesändning vid datakommunikation över ett nätverk c. samlingen utav operationer hos ett objekt d. att man har koll på skyddade (protected) attribut och operationer 12. Med överskuggning avses a. att ett anrop av en metod i ett annat objekt redan vid kompileringstillfället binds till en adress dit exekveringen skall hoppa (läsa instruktionerna) b. att ett anrop av en metod i ett annat objekt först vid själva exekveringen binds till en adress dit exekveringen skall hoppa (läsa instruktionerna) c. att en operation i en subklass blir en annan metod om vi har en annan signatur d. att en operation i en subklass har samma signatur som en operation i dess basklass 13. Ett grundbegrepp inom OO är inkapsling, som egentligen är två skilda principer. Vad kan sägas att vara en generell princip om den del som avser information hiding? a. att attribut bör ha synligheten private eller protected b. att attribut bör ha synligheten public eller internal c. att operationer bör ha synligheten private d. att operationer bör implementeras med privata metoder 14. I diagrammet till höger så innebär opt a. att rutan refererar till ett annat sekvensdiagram b. att meddelandesändningarna endast utförs om villkoret är uppfyllt c. att meddelandesändningarna utförs flera gånger (loop) d. Att koden måste optimeras för bästa prestanda 15. Meddelandet NextHandler är a. ett anrop till en statisk metod b. ett rekursivt anrop c. ett anrop med synlighet self d. ett anrop till ett samlingsobjekt 16. Vilket GoF-mönster kan diagrammet till höger sägas illustrera? a. Abstract Factory b. Bridge c. Chain of Responsibility d. Observer 17. Vilken av följande kodrader skulle kunna existera i en direkt implementation av klassdiagrammet på föregående sida? a. private isbn string; b. public string titel; c. public class BokRegister : IList d. private void HämtaBok(string isbn) 18. Inom objektorienteringen innebär "reflektion" a. att varje objekt kan ha flera exekveringsvägar b. en särskild iteration i analysfasen c. att en applikation vid exekvering kan hämta information om ett objekt från objektet självt d. att objekt exekverar en metod som svar på ett meddelande

5 [ sida 5 ] 19. Ett Deployment diagram är ett exempel på ett a. Structure diagram b. Behavior Diagram c. Interaction Diagram d. Activity Diagram 20. Med en metodsignatur menas a. digital signering av en metod b. en metod för digital signering c. kombinationen utav metodnamn, formella parametrar och returtyp d. kombinationen utav metodnamn, argument, returtyp och anrop 21. Diagrammet till höger illustrerar a. ett hashtable-aggregat b. low coupling c. en kvalificerad association d. ett komponentdiagram 22. Nedan finns 4 diagram. Vilket utav dem (A, B, C eller D) illustrerar ett Communication Diagram? 23. Nedan finns 4 diagram. Vilket utav dem (A, B, C eller D) illustrerar ett State Machine Diagram? 24. Nedan finns 4 diagram. Vilket utav dem (A, B, C eller D) illustrerar ett Composite Structure Diagram? 25. Nedan finns 4 diagram. Vilket utav dem (A, B, C eller D) illustrerar ett Component Diagram? Glöm inte att lägga svarssidan (sida 2) för ovanstående svar i det gula tentamenshäftet! För de följande delarna skall svaret för respektive fråga skrivas/ritas på ett separat blad, tydligt angivet vilken fråga det är ett svar på.

6 [ sida 6 ] Del B (Inception/Analys) Fråga 2 (9 p) I varje iteration i ett objektorienterat systemutvecklingsprojekt sker både objektorienterad analys och objektorienterad design. Vad analyserar respektive designar man i Inception-fasen? Vilka UML-diagram använder man för detta? På vilka avgörande sätt skiljer sig detta från efterföljande faser (elaboration, construction, etc)? Fråga 3 (9 p) Användningsfall (Use Cases) skrivas i inception-fasen vanligen i ett av de tre vanligaste formaten, som svarar mot tre olika grader av formalitet. Vilka är dessa tre format? eskriv varje format kortfattat, dvs vad skiljer dem åt? Fråga 4 (7 p) I Inception-fasen påbörjas framtagandet av systemkrav (requirements), men som Larman säger: Inception is not the Requirements phase, dvs att detta fortsätter även in i de andra faserna. Ett sätt att se till att man täcker alla nödvändiga krav är att utgå från FURPS+. Vilka kategorier av krav anges med FURPS+?

7 [ sida 7 ] Del C (Elaboration/Design) Läs noga igenom uppgifterna och förutsättningarna innan Du börjar med uppgifterna. I de fall där Du tycker att förutsättningar saknas får Du göra egna antaganden. Egna antaganden skall redovisas med motivering. Ett dataföretag säljer dataprodukter (artiklar) och konsulttjänster till privatkunder och andra företag. Varje uppdrag från en kund resulterar i en order. Ordern kan avse flera olika artiklar och/eller konsultuppdrag från en eller flera konsulter. Konsulterna debiterar kunderna ett fast timpris. Timpriset för konsulterna kan vara olika för olika konsulter. De uppgifter som skall finnas om artiklarna på ordern är: artikelnummer, artikelnamn, antal artiklar av angivet artikelnummer, styckepris samt en summa per artikelnummer. För varje konsulttjänst skall uppgifter finnas om konsultens namn, konsultens timpris och antal arbetade timmar. En delsumma per konsult och order skall också finnas på ordern. På ordern skall det dessutom finnas uppgifter om kundens namn, adress samt telefonnummer. Man skall kunna beräkna orderns totalsumma. Man skall också kunna beräkna totalsumman för samtliga order som är lagda. En påbörjad konceptuell modell för dessa klasser kan något förenklat ritas så här: Kund Order Controller + adress : string + namn : string + datum : DateTime + BeräknaOrdersumma() : int + BeräknaTotalsumma() : int Konsult Orderrad Artikel - namn : string - antal : int + BeräknaRadsumma() : int - artikelnr : int - namn : string - styckepris : int Fråga 5 (7 p) Komplettera den konceptuella modellen ovan till ett mer komplett klassdiagram med associationer, arv, aggregat, attribut, kardinaliteter (multiplicity) och operationer (metoder) över ovanstående. Du kommer att behöva komplettera med bland annat ytterligare klasser, arv, operationer, samt att vissa nya klasser kan behöva byta plats med existerande klasser.

8 [ sida 8 ] Del C (Elaboration/Design) Forts. En exklusiv auktionshandlare på Internet har påbörjat utvecklingen av ett auktionssystem. För att kunna sälja eller bjuda på varor i auktionen måste man vara medlem. När man lägger ett bud, så skall systemet kontrollera att inte sluttiden passerats, att det nya budets belopp är högre än utgångspriset, samt att det är högre än senast lagda bud. Om villkoren uppfyllts läggs budet in i systemet. Så här ser klassdiagrammet ut som du skall utgå ifrån i uppgifterna nedan: AuktionControl + NyMedlem(namn : string, id : string, lösen : string, adress : string) + NyttBud(budgivare : Medlem, vara : Vara, belopp : int) + NyVara(säljare : Medlem, beskrivning : string, sluttid : DateTime, utgångspris : int) medlemmar varor Medlem Vara säljare varor - adress : string - lösenord : string - medlemsnr : int - namn : string Bud - sluttid : DateTime - utgångspris : int + HögstaBud() : int + NyttBud(budgivare : Medlem, belopp : int) budgivare vara bud + belopp : int + tidpunkt : DateTime bud + GetBelopp() : int + GetTidpunkt() : DateTime Fråga 6 (10 p) Rita ett sekvensdiagram för händelsen Lägg ett bud med startpunkt i ett anrop av operationen NyttBud i klassen AuktionControl. (OBS! Du får endast använda de operationer som finns i diagrammet ovan) Fråga 7 (4 p) I klassdiagrammet ovan finns klassen DateTime inte utritad trots att den används i systemet. Rita ett alternativt klassdiagram till auktionen, där DateTime är utritad som egen klass istället för som attributtyp (för att förenkla saken; tag inte med klassernas operationer i det nya diagrammet). iskutera varför man kan göra på båda sätten, samt när det ena alternativet är att föredra framför det andra. Fråga 8 (4 p) Det finns två situationer, där man i ett sekvensdiagram i UML ritar ut pilar som i en meddelandesändning, men som inte i sig innebär att det är ett meddelande som sänds till ett existerande objekt. Vilka är dessa två situationer, och hur ritas de i UML? Vad är det som egentligen sker i dessa två situationer? Beskriv utifrån vad som sker i det sändande objektet.

9 [ sida 9 ] Del D (Construction/Implementation) Läs noga igenom uppgifterna och förutsättningarna nedan innan Du börjar med uppgifterna. I de fall där Du tycker att förutsättningar saknas får Du göra egna antaganden. Egna antaganden skall redovisas med motivering. UppsatsHandledare IT-avdelningen på Högskolan i Mitterås har påbörjat utvecklingen utav ett system för att administrera uppsatshandledning. Koden på följande sidor är resultatet utav en tidig iteration, så många attribut och operationer saknas. Tyvärr har UML-diagrammen som använts för att generera koden förkommit, och det är din uppgift att återskapa dem med så korrekt UML-notation som möjligt. Uppgift 9 (10 p) Gör ett klassdiagram (Class Diagram) som så exakt som möjligt motsvarar koden nedan och på följande sidor. Du kan undanta beroenden till andra paket ( using namespaces). Uppgift 10 (8 p) Gör ett sekvensdiagram (Sequence Diagram) som så exakt som möjligt motsvarar koden nedan och på följande sidor, med startpunkt i ett anrop av operationen AllokeraHandledare i klassen Control. Uppgift 11 (7 p) Gör ett tillståndsdiagram (State Machine Diagram) som så exakt som möjligt motsvarar ett objekt ur klassen Uppsats. public abstract class Person protected string namn; protected string personnr; public abstract string GetTyp(); public class Student : Person public override string GetTyp() return "Student";

10 [ sida 10 ] using System; using System.Collections.Generic; /// <summary> /// Klassen implementerar interfacet IComparable<Lärare> för att /// kunna sortera Lärare efter antalet allokerade uppsatser /// </summary> public class Lärare : Person, IComparable<Lärare> // Association private List<Uppsats> uppsatser = new List<Uppsats>(); public int AntalUppsatser() return uppsatser.count; public override string GetTyp() return "Lärare"; public int CompareTo(Lärare other) return this.antaluppsatser().compareto(other.antaluppsatser()); using System; using System.Collections.Generic; public class Control // Associationer public List<Uppsats> uppsatser = new List<Uppsats>(); public List<Lärare> lärare = new List<Lärare>(); public void AllokeraHandledare() foreach (Uppsats uppsats in uppsatser) bool harhandledare = uppsats.harhandledare(); if (!harhandledare) Lärare handledare = lärare[0]; uppsats.addhandledare(handledare); lärare.sort();

11 using System; using System.Collections.Generic; [ sida 11 ] public class Uppsats private string titel; private string nivå; private string termin; // Associationer public List<Student> studenter = new List<Student>(); public Lärare handledare; /// <summary> /// Konstruktor /// </summary> /// <param name="titel">uppsatsens titel</param> /// <param name="nivå">kandidat magister eller masternivå</param> /// <param name="termin">termin för förstaregistrering, i formen "VT13"</param> /// <param name="s">första studenten i uppsatsgruppen</param> public Uppsats(string titel, string nivå, string termin, Student s) this.titel = titel; this.nivå = nivå; this.termin = termin; studenter.add(s); // En uppsats har alltid minst en student public bool AddStudent(Student s) // Får inte lägga till fler studenter när handledare är allokerad if (HarHandledare()) return false; // En uppsatsgrupp får ha max 3 studenter if (studenter.count >= 3) return false; else studenter.add(s); return true; public bool HarHandledare() if (handledare == null) return false; else return true; public void AddHandledare(Lärare h) if (handledare!= null) throw new Exception("Har redan handledare allokerad"); else handledare = h; Detta är sista sidan Glöm inte att lägga dina svar (inklusive sida 2) i rätt ordning i det gula tentamenshäftet!

Objektorienterad Systemutveckling (7,5 hp)

Objektorienterad Systemutveckling (7,5 hp) [ sida 1 ] Objektorienterad Systemutveckling (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen 21OS1B DE11, IMIT11, SYST11 (omtentamen) Datum och tid: 2013-05-22, kl 09.00 13.00 Hjälpmedel: Inga

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

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla TentamensKod: Tentamensdatum: 180322 Tid: 09.00 13.00 Hjälpmedel:

Läs mer

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp)

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp) [ sida 1 ] Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen 21IP1A ASYST TentamensKod: Tentamensdatum och tid: 2016-10-31,

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för:

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 DE16, IMIT16, SYST16 och ITEK15 samt öppen för alla TentamensKod: Tentamensdatum: 170323 Tid: 09.00

Läs mer

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)

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

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F9:1 OOP Objekt-orienterad programmering Föreläsning 9 Arv och klasshierarkier Polymorfism OOP F9:2 Djur - String namn - int vikt + String getnamn() + int getvikt() + void ökavikt(int x) Ko - int mjölkvolym

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

Del av projektuppgiften. Systemarkitektprogrammet

Del av projektuppgiften. Systemarkitektprogrammet Objektorienterad mjukvaruutveckling Provmoment: Ladokkod: Duggan ges för: Namn: Personnummer: Del av projektuppgiften Systemarkitektprogrammet 7,5 högskolepoäng Duggadatum: 2014-10-24 Tid: 09:00 12:00

Läs mer

Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla

Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla (Ifylles av student) (Ifylles av student) Tentamensdatum:

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

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

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

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 till Programutveckling - från Information till Tillämpning (7,5 hp)

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp) [ sida 1 ] Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen (5 hp) 21IP1A ASYST14h Datum och tid: 2015-11-05, kl 09.00 13.00

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

Tentamen på kursen Webbdesign, 7,5 hp

Tentamen på kursen Webbdesign, 7,5 hp Högskolan i Borås Sektionen för informationsteknologi Akademin för bibliotek, information, pedagogik och IT Malin Nilsson Tentamen Tentamen på kursen Webbdesign, 7,5 hp Tentamenstid: 2015-11-03, kl. 09.00-13.00

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

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

Tentamen NOA011 Systemarkitektprogrammet

Tentamen NOA011 Systemarkitektprogrammet Objektorienterad analys och design Provmoment: Ladokkod: Tentamen ges för: Namn: Personnummer: Tentamen NOA011 Systemarkitektprogrammet 7,5 högskolepoäng Tentamensdatum: 2014-10-24 Tid: 09:00 13:00 Hjälpmedel:

Läs mer

Föreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser

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

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

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng Objektorienterad analys och design Provmoment: Ladokkod: Tentamen ges för: Tentamen NOA011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:

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

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

Föreläsningsmaterial (Arv) Skrivet av Andreas Lund

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

Läs mer

IT och Omvärlden (NIT01A 7,5 hp)

IT och Omvärlden (NIT01A 7,5 hp) [ sida 1 ] IT och Omvärlden (NIT01A 7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen NIT01A DE10, SYST12, SYST11 (omtentamen) Datum och tid: 2012-12-07, kl 09.00 13.00 Hjälpmedel: Inga hjälpmedel

Läs mer

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: ADAEK12h ASYST12h NGIMI12h 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:

Läs mer

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML Målet Mer OOP Mer om klasser Några exempel UML Modularitet Språkligt modulära enheter Få gränssnitt Små gränssnitt Tydliga gränssnitt Dold information Återanvändbarhet Variation i typer Variation i datastrukturer

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

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

Polymorfi. Objektorienterad och komponentbaserad programmering

Polymorfi. Objektorienterad och komponentbaserad programmering Polymorfi Objektorienterad och komponentbaserad programmering Polymorfi, mångtydighet Polymorfi innebär att en viss konstruktion kan exekveras på olika sätt Överlagring av metoder ger ett polymorft beteende

Läs mer

Viktigt! Glöm inte att skriva tentamenskod på alla blad du lämnar in.

Viktigt! Glöm inte att skriva tentamenskod på alla blad du lämnar in. Systemanalys och Design Provmoment: Ladokkod: Tentamen ges för: TEN NSA011 SV17, DE17 7,5 högskolepoäng Tentamenskod: Tentamensdatum: 2 mars 2018 Tid: 9-13 Hjälpmedel: Inga. Totalt antal poäng: 50 Preliminär

Läs mer

Systemvetarutbildningen och dataekonomutbildningen

Systemvetarutbildningen och dataekonomutbildningen Visuell Programutveckling med C# Provmoment: Ladokkod: Tentamen ges för: Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2012-01-10 Tid: 14.00 19.00 Hjälpmedel: Inga hjälpmedel

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

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

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.

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:

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

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

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

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

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

Läs mer

Tentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas.

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.

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

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

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

Läs mer

Tentamen på kursen Webbdesign, 7,5 hp

Tentamen på kursen Webbdesign, 7,5 hp Högskolan i Borås Institutionen för data- och affärsvetenskap Malin Nilsson Tentamen Tentamen på kursen Webbdesign, 7,5 hp Tentamenstid: 2012-05-28, kl. 9-13 Hjälpmedel: Inga hjälpmedel tillåtna Betyg:

Läs mer

Tentamen på kursen Informationsdesign, 7,5 hp

Tentamen på kursen Informationsdesign, 7,5 hp Högskolan i Borås Institutionen Handels- och IT-högskolan Malin Nilsson Tentamen Tentamen på kursen Informationsdesign, 7,5 hp Tentamenstid: 2014-08-21, kl. 09.00-13.00 Ladokkod: NID021 Hjälpmedel: Ritverktyg,

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

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

Objektorienterad mjukvaruutveckling. 15 högskolepoäng. TentamensKod: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Objektorienterad mjukvaruutveckling. 15 högskolepoäng. TentamensKod: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel Objektorienterad mjukvaruutveckling Provmoment: Ladokkod: Tentamen ges för: Tentamen (teori) 21OO1B Systemarkitektsprogrammet 15 högskolepoäng TentamensKod: Tentamensdatum: 2017-01-10 Tid: 14.00 16.00

Läs mer

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp)

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp) [ sida 1 ] Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen (5 hp) 21IP1 SYST13h atum och tid: 2014-08-25, kl 09.00 13.00

Läs mer

Generiska konstruktioner. Kursbokens kapitel 13

Generiska konstruktioner. Kursbokens kapitel 13 Generiska konstruktioner Kursbokens kapitel 13 1 Vad är en generisk konstruktion? Generisk står för; allmän eller generell En generisk konstruktion kan användas för olika typer av data Med hjälp av templates

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

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

Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt

Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt Föreläsning 4 Klasser Och Objekt Klass Beskrivning av en objekttyp Beskriver egenskaper och beteende (fält och metoder) Klassen fungerar som en ritning Objekt skapas från klassbeskrivningen - instansieras

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

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

Omtentamen på kursen Webbdesign, 7,5 hp

Omtentamen på kursen Webbdesign, 7,5 hp Högskolan i Borås Handels- och IT-högskolan Malin Nilsson Tentamen Omtentamen på kursen Webbdesign, 7,5 hp Tentamenstid: 2012-08-29, kl. 9-13 Hjälpmedel: Inga hjälpmedel tillåtna Betyg: Tentamen omfattar

Läs mer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

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.

Läs mer

7,5 högskolepoäng. Objektorienterad systemutveckling I. Lycka till! /Peter & Petter. Provmoment: Ladokkod: 21OS1B Tentamen ges för:

7,5 högskolepoäng. Objektorienterad systemutveckling I. Lycka till! /Peter & Petter. Provmoment: Ladokkod: 21OS1B Tentamen ges för: Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: ADAEK12h ASYST12h NGIMI12h 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:

Läs mer

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language Ett modelleringsspråk : Exempel Fönster Klassnamn Unified Modelling Language Av Booch, Jacobson, Rumbaugh Exempel: En klass position storlek Attribut (instansvariaböe) Resultatet av en sammanslagning av

Läs mer

Systemvetarutbildningen och dataekonomutbildningen

Systemvetarutbildningen och dataekonomutbildningen Visuell Programutveckling med C# Provmoment: Ladokkod: Tentamen ges för: Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2012-02-25 Tid: 09.30 14.30 Hjälpmedel: Inga hjälpmedel

Läs mer

Objektorientering Användning

Objektorientering Användning Objektorientering Användning Samt repetition av klasser Suzana Ramadani 1 Repetition Objektorientering bygger på Abstraktion Hierarkisk strukturering Inkapsling Klassificering Generalisering specialisering

Läs mer

Tentamen ID1004 Objektorienterad programmering May 29, 2012

Tentamen ID1004 Objektorienterad programmering May 29, 2012 Omtentamen för ID1004 Objektorienterad programmering HT11, 29 maj 2012, 09-13 Denna tentamen examinerar 3 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av 12 frågor. Varje fråga

Läs mer

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder Introduktion TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder OO är den mest använda programmeringsparadigmen idag, viktigt steg att lära sig och använda OO. Klasser är byggstenen i

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

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

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan. Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen

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

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

Klasshierarkier - repetition

Klasshierarkier - repetition Klasshierarkier - repetition Klasser kan byggas på redan denierade klasser, egna och/eller färdigskrivna, genom: I att klassobjekt används som attribut (instansvariabler): har-relation. Exempel: traksystemet

Läs mer

Subklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser

Subklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 5 Innehåll Subklasser och arv Inledning till grafik (JFrame och JPanel).

Läs mer

LÖSNINGSFÖRSLAG TENTAMEN

LÖSNINGSFÖRSLAG TENTAMEN LÖSNINGSFÖRSLAG TENTAMEN OBJEKTORIENTERAD PROGRAMMERING I JAVA 5P FRISTÅENDE KURS, DAG (ITM - ÖSTERSUND) MÅNDAG 2 JUNI, 2003, KL. 8-13 TID: 5 TIMMAR ANTAL UPPGIFTER: 8 MAX POÄNG: 43 BETYGSKALA: UNDERKÄND

Läs mer

Introduktion till arv

Introduktion till arv Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering

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

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 2017 Outline Instansiering Åtkomst Abstrakt datatyp UML Överlagring

Läs mer

Outline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine

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

Läs mer

Outline. Objektorienterad Programmering (TDDC77) Åsidosättning. Signatur. Åsidosättning. Abstrakta klasser. Ahmed Rezine.

Outline. Objektorienterad Programmering (TDDC77) Åsidosättning. Signatur. Åsidosättning. Abstrakta klasser. Ahmed Rezine. Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Signatur public static int parseint (

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

Objektorienterad analys och design

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/

Läs mer

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

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

Läs mer

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

Objektorienterad Programmering (OOP) Murach s: kap 12-16

Objektorienterad Programmering (OOP) Murach s: kap 12-16 Objektorienterad Programmering (OOP) Murach s: kap 12-16 2013-01-28 1 Winstrand Development Objektorienterad Programmering Förkortas OOP Objektorientering innebär att man delar in koden i olika block,

Läs mer

Föreläsning 5-6 Innehåll

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

Läs mer

TDP005. Föreläsning 3 - UML. Filip Strömbäck

TDP005. Föreläsning 3 - UML. Filip Strömbäck TDP005 Föreläsning 3 - UML Filip Strömbäck 1 Introduktion 2 Diagram 3 Klassdiagram 4 Sekvensdiagram 5 SFML-demo TDP005 Filip Strömbäck 2 UML Unified Modeling Language Visuell notation för idéer Kommunicera

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2 729G75: Programmering och algoritmiskt tänkande Tema 3, föreläsning 2 Översikt Vanliga mönster när man designar en klass Klass-diagram Exempel Arv i Python Egna klasser använd som egna datatyper, men även

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Objektorienterad analys och design 1 Dagens föreläsning Första delen, innan rasten: Motivation och bakgrund Analys Funktioner Andra delen, efter rasten: Objektorienterade

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

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7) Översikt Programmering tillämpningar och datastrukturer 729G58 (HKGBB7) Kursinformation Objektorienterad programmering: Klasser och objekt Arv Polymorfism Metoder Programexempel Programmering tillämpningar

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

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

Läs mer

Programmering i C++ EDA623 Arv. EDA623 (Föreläsning 6) HT 2013 1 / 42

Programmering i C++ EDA623 Arv. EDA623 (Föreläsning 6) HT 2013 1 / 42 Programmering i C++ EDA623 Arv EDA623 (Föreläsning 6) HT 2013 1 / 42 Arv Innehåll Härledda klasser Konstruktorer och destruktorer vid arv Tillgänglighet Polymorfism och dynamisk bindning Abstrakta klasser

Läs mer

TDDC76 Programmering och datastrukturer

TDDC76 Programmering och datastrukturer TDDC76 Programmering och datastrukturer Arv, polymorfi och objektorienterad programmering Oskar Holmström Institutionen för datavetenskap Agenda 1 Pekare 2 Arv 3 Statisk bindning 4 Polymorfi 5 Destruktorer

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F5:1 OOP Objekt-orienterad programmering Föreläsning 5 Klasser och objekt Skapa objekt - new Referenser Konstruktorer Inkapsling Vi skall nu titta på ett exempel med myror. Varje myra har ett namn

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

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

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:

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