F3 (Introduktion till OOAD) Flashcards

1
Q

Vad är procedurell programmering?

A
  • Sekventiell världsbild: saker sker i steg eller given ordning
  • Arbetar med procedurer och funktioner
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vad är objektorienterad programmering?

A

Man programmerar med objekt som

  • har egenskaper
  • interagerar med varandra
  • jobba med att modellera och analysera
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Vad är en modell?

A

en bild eller en tolkning av ett system

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Hur använder vi modeller?

A
  • som verktyg vid kravinsamling (ett sätt att kommunicera med kund/uppdragsgivare)
  • som verktyg för implementation (ha en gemensam bild av ett system)
  • dela upp större system i mindre delar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad står UML för?

A

Unified Modeling Language

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vad beskriver UML?

A

Ett antal diagramtyper som kan användas för att beskriva mjukvarusystem

  • Strukturer
  • Beteende
  • Interaktion
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Nämn 5 olika sorters diagram

A
  • Klassdiagram
  • Sekvensdiagram
  • Objektdiagram
  • Use-Case diagram
  • Aktivitetsdiagram
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Vad är ett meddelande inom OOP?

A

Utbyte av information mellan objekt i ett oop-system, ett meddelande kan ha noll eller flera parametrar och användas OFTAST genom att en metod anropar en annan

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Vad innebär inkapsling?

A

att man skyddar datan från utomstående inblandning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hur kommer man åt inkapslad data?

A

genom fördefinierade vägar in

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Vad innebär polymorfism?

A

att en subklass kan välja att skriva över funktioner

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Vad är ett objekt?

A

En variabel som är sparad i minnet och identifierbar

Något vi kan tala och tänka kring

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Vad är ett objektdiagram?

A

ett diagram som visar systemets objekt vid en given tidpunkt under exekvering

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Vad kallas associationer mellan objekt i objektdiagram?

A

länk

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Hur skrivs ett objekt i ett objektdiagram?

A

“Objekt:klassnamn” i en ruta

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Vad är en klass?

A

en bit kod som definierar en samling attribut och metoder

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Hur skrivs statiska metoder i ett klassdiagram?

A

Genom att metoden är understrucken

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Vad är en statisk metod?

A

En metod som kan användas utan att klassen instansieras, alla objekt delar på samma metod

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

När måste man skriva ut konstruktorn i ett klassdiagram och hur görs det?

A

Om konstruktorn tar emot en eller flera parametrar. Metoder skrivs med Stor bokstav.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Hur anges synlighet (private/public/protected)?

A

+ (public)
- (private)
# (protected)

Dessa sätts framför attribut eller operation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Hur anges konstanter/final värden i ett klassdiagram?

A

Med STORA BOKSTÄVER

bild motsvarande i kod:

public static final NYTTIG = true;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Hur skrivs arv i klassdiagram?

A

På bilden ärver klassen Banan klassen Frukt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Hur anger med att en metod är @overrided i klassdiagram?

A

Genom att även skriva metooden i subklassens (som ärver superklassen) ruta.

24
Q

Hur anges ett interface i UML?

A

Med <> ovanför klassnamnet i diagrammet

25
Vad är ett gränssnitt?
ett interface, dvs ett kontrakt som säger VAD en klass ska göra, men inte HUR
26
Vad är ett beroende?
När två klasser **känner till** och **använder varandra**
27
Hur skrivs beroende i ett klassdiagram?
Streckad, öppen pil: - - - - \>
28
Vad är en association?
När två klasser känner till varandra och **åtminstone en av klasserna har en referens till den andre**
29
Hur skrivs en association i UML?
Ett streck, en fiskare har ett fiskespö som han använder Fiskare ____________ Fiskespö
30
Vad är komposition?
**Sammansättning** där **delarna endast existerar i en helhet**, delar kan inte existera själva. Tar vi bort objektet försvinner även delarna. Komposition är alltid asymmetrisk.
31
Hur skrivs komposition i UML?
Ifylld diamant från delarna till helheten.
32
Vad är aggregation?
Som komposition fast där **delarna kan existera på egen hand, utan helheten**
33
Hur skrivs aggregation?
som en diamant som **inte är ifylld**, från delarna till helheten
34
Hur **används** ofta aggregation och komposition?
För att hantera **samlingar av objekt** (collections) Associationer kan vara att föredra om det handlar om **färre objekt**
35
Vad är multiplicitet?
multiplicitet anger hur många instanser av ett objekt som en klass känner till
36
Vilka sorters multiplicitet finns?
- 0, 1, n (dvs exakt antal) - \* (0 eller fler) - + (en eller fler) - m...n (intervall)
37
Hur skrivs beroenden?
Streckad pil med öppet huvud
38
När är klass A beroende av klass B?
- en instans av A sänder ett meddelande till B - en instans av A skapar en instans av B - en instans av A har ett attribut vars värde är en instans av klass B - en instans av A får ett meddelande där en parameter är en instans av klass B
39
Vad innebär hel linje i klassdiagram
att vi sparar referenser av ett objekt i ett annat
40
Vad innebär deriverade associationer?
När en association som inte är direkt, men kanske uppstår genom att dessa är **associerade i via andra klasser**
41
Hur skrivs abstrakta klasser i UML?
Klassnamnet i diagrammet är *italic/snedställt*
42
Vad är stereotyper och hur skrivs dessa i UML?
Boundary (View), Entity (Model) och Controller (Controller), skrivs \<\> ovanför klassnamnet
43
Vad är logisk programmering?
- Världen ordnas enligt **regler** - Deklarerar **logiska predikat** och **ställer sedan** frågor
44
Vad består ett objekt av?
Attribut (Data) Metoder (Funktioner)
45
Hur skriv en klass i ett klassdiagram?
46
Hur skrivs attribut i ett klassdiagram?
47
Hur skrivs metoder i ett klassdiagram?
48
Hur skrivs metoder som har parametrar och/eller returvärde?
metodnamn(parameter : datatyp) : returvärde *motsvarande i kod (för bild):* public boolean märk(Märke klisterlapp){ return true; }
49
På vilka två sätt kan man använda klassers metod utifrån?
- Direkt från klasser (statiska metoder, konstanter) - Från instaniserade objekt
50
Hur nås superklassen från subklassen?
Med nyckelordet **super**
51
Hur anges ett interface **implementering** i UML/klassdiagram?
Med en **streckad** arvspil
52
Vad är ett vanligt scenario där komposition används?
När ett **objekt skapar andra objekt** och **håller dess referenser**
53
Hur skrivs deriverade associationer i UML?
54
Hur skrivs inre klasser i UML?
55
Vad är alternativ notation till entity-klasser?
56
Vad är alternativ notation till boundary-klasser?
57
Vad är alternativ notation till Control-klasserna?