OOP1-repetition Flashcards

1
Q

Vad är skillnad mellan Compile-time-typ
och
Run-time-typ

A

Compile-time-typ
* Vilka medlemmar vi kan nå
* Ispetsen av ett isberg är som ett objekts compile-time-typ - vad kompilatorn ‘ser’.

Run-time-typ
* Vilken implementation som körs
* Under ytan döljer sig run-time-typen - objektets faktiska typ.

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

Förklara vad ett objekt är

A

Objekt = Instans

Om ett objekt är som en robot så är en instansmetod som knapparna på våra kontroller
Dvs. Objekt:
- Som små agenter/robotar
- Modellerar verkliga eller abstrakta ting
- Kontrakt/överenskommelser som kanske inte finns
- Poängen med det är:
- Blanda data och beteende(state & behaviour)
- Den beter sig I relation till sitt “state”
Beteende: Metoder såsom Drive()
Data: attribut, färg etc.

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

Vad menas med “instansmetoder exekveras i kontexten av objektet?”

A

Fältets värde är unikt per objekt så exekveras en metod i kontexten av objektet

ex. Om vi har 2 cars(objekt) med olika färg och vi kör en metod som printar färgen så printas respektive färg. För att metoden implementeras i kontexten av instansen.

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

Implementationen av ett gränssnitt/interface är en is-a eller has-a relation?

A

Interface representerar en is-a relation.
När en klass implementerar ett gränssnitt innebär det att klassen lovar att den uppfyller vissa kontrakt eller funktioner som definieras av gränssnittet.

Ex. Gränssnittet IFlyable.
- Om en klass som heter Bird implementerar detta gränssnitt, säger vi att “Bird is-a IFlyable”. Det betyder att Bird lovar att den kan utföra alla handlingar eller metoder som definieras av IFlyable gränssnittet.

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