F18 - Arv Flashcards

1
Q

Vad står OOP för?

A

Object-Orienterad Programming

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

Vad är ett nyckelord?

A

Reserverat ord som inte kan användas som identifierare?

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

Vad är en identifierare?

A

Namn på variabel, namn eller klass

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

Vad är klassmedlemmar och vilka är dessa?

A

Alla som ingår i en klass, det vill säga

  • Instansvariabler
  • Konstruktor
  • Övriga metoder
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Vad är skillnaden mellan implicit och explicit?

A

Explicit är uttryckligen skrivet, t ex:

double a = (double)3;

medan implicit är indirekt skrivet, t ex:

double a = 3;

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

Vad är inkapsling/encapsulation?

A

Kapsla in data/metoder i entity-klass och dölja data/metoder för andra klasser

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

Vad innebär arv?

A

att skapa ny klass genom från redan existerande klasser

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

Vad kallas en klass härled ur ett annan klass?

A

Subklass

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

Vad är en superklass?

A

Klassen subklassen ärver

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

Vad är arv bra för?

A

Minskar behovet av att skriva ny kod

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

Hur uttrycks arv?

A

Med nyckelordet extend

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

Vad betyder:

public class A Extends B {

}

A

Att klass A ärver klass B

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

Vilken är superklass vs subklass enligt:

public class A Extends B {

}

A

Klass A är subklass till klass B, som är superklass

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

Vad innehåller klass A om den är subklass till klass B?

A

Alla metoder och instansvariabler som deklarerars i klass B

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

Vad kan klassen som ärver kallas?

A

Härledd klass

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

Vad måste klasserna vara vid arv?

A
  • Konceptuellt relaterade till varandra

- En subklass ska vara en delmängd av en superklass

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

Vad innebär “är en”-regeln?

A

Om svaret på frågan “Är subklass en superklass” ja, kan arv tillämpas mellan objekten.

T ex “Är anställd (klass A) en Person (Klass B)? - Ja, alltså kan klass A ärva klass B.

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

Vilka är tre vanliga synlighetsmodifierare?

A

Private, public och protected

19
Q

Vad innebär public?

A

Ger access till alla klasser

20
Q

Vad innebär private?

A

Ger endast access inom klass den tillhör

21
Q

Vad innebär protected?

A

Ger access till alla klasser i samma paket och subklasser i andra paket

22
Q

Vad ingår inte i arv?

A

Konstruktor och privata instansvariabler

23
Q

Vad är Object?

A

En superklass definierad i java

24
Q

Vilka är subklassern till Object?

A

Alla, Objects ärv direkt eller indirekt av alla klasser

25
Vad innebär direkt arv?
Om en klass inte ärver en annan klass blir den automatiskt en subklass till Object
26
Vad innebär indirekt arv?
Om en klass ärver annan klass genom nyckelordet extrend, och klassen den ärver är en subklass av Objects, är det ett indirekt arv
27
Ge exempel på metoder i Object-klassen
- toString( ) som returnerar strängrepresentation av objektet - public boolean equals(Objects obj) som returnerar True om Obj är samma som objektet (this) och annars returernar Falsee
28
Vilket nyckelord används om subklassen vill referera till sin direkta superklass?
Super( )
29
Vad händer om man kallar på Super( ) utan parameterar men superklassens konstruktor har parametrar?
Kompileringsfel, man måste skicka med värden
30
Hur anropas man en metod i superklassen, från subklassen med hjälp av "Super"?
super.Metodnamn( )
31
Vad betyder Polymorfism?
Mångformighet
32
Vad innebär Polymorfism?
att olika, men relaterade, objekt utför samma uppgift på olika sätt
33
Hur implementeras Polymorfism i Java?
- Metod-överskuggning - Abstrakta klasser - Interface - Dynamisk bindning
34
Vad är en abstrakt klass?
En klass som ärvs och inte instansieras (dvs skapas objekt av)
35
Vad är abstrakta klasser bra för?
- Organisera klasser | - Skapa abstraktionsnivåer i klasshierarki
36
Vad i en klasshierkarki ska en abstrakt klass ligga?
Högt
37
Vad kan betraktas som inkomplett klass?
en abstrakt klass, den är inte självständigt användsbar utan är till för att ärvas
38
Vad innebär överskuggning?
- När man i en subklass ger en metod från superklassen en egen implementation - att metoden från subklassen ska användas över metoden från superklassen
39
Hur implementeras överskuggning?
Genom att @Override skrivs innan metoden, som måste ha samma namn och argument som metoder den överskuggar
40
Hur fungerar abstraktionsnivå?
Man börjar med hög abtraktionsnivå och specialiserar, konkretiserar och specialiserar neråt.
41
Vad är abtrakta metoder?
när en abstrakt klass delegerar implementation av metod till subklass
42
När används abstrakta metoder?
När en abstrakt klass inte vet hur uppgiften ska lösas, men att den ska göras
43
Hur skrivs abstrakta metoder i Java?
I superklassen: med ; efter ( ) och med nyckelordet abstract mellan mellan synlighetsmodifierar och namn, t ex: ``` public abstract Shape( ); { //metodkropp } ``` I subklassen: som vanligt utan ; och abstract