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
Q

Vad innebär direkt arv?

A

Om en klass inte ärver en annan klass blir den automatiskt en subklass till Object

26
Q

Vad innebär indirekt arv?

A

Om en klass ärver annan klass genom nyckelordet extrend, och klassen den ärver är en subklass av Objects, är det ett indirekt arv

27
Q

Ge exempel på metoder i Object-klassen

A
  • 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
Q

Vilket nyckelord används om subklassen vill referera till sin direkta superklass?

A

Super( )

29
Q

Vad händer om man kallar på Super( ) utan parameterar men superklassens konstruktor har parametrar?

A

Kompileringsfel, man måste skicka med värden

30
Q

Hur anropas man en metod i superklassen, från subklassen med hjälp av “Super”?

A

super.Metodnamn( )

31
Q

Vad betyder Polymorfism?

A

Mångformighet

32
Q

Vad innebär Polymorfism?

A

att olika, men relaterade, objekt utför samma uppgift på olika sätt

33
Q

Hur implementeras Polymorfism i Java?

A
  • Metod-överskuggning
  • Abstrakta klasser
  • Interface
  • Dynamisk bindning
34
Q

Vad är en abstrakt klass?

A

En klass som ärvs och inte instansieras (dvs skapas objekt av)

35
Q

Vad är abstrakta klasser bra för?

A
  • Organisera klasser

- Skapa abstraktionsnivåer i klasshierarki

36
Q

Vad i en klasshierkarki ska en abstrakt klass ligga?

A

Högt

37
Q

Vad kan betraktas som inkomplett klass?

A

en abstrakt klass, den är inte självständigt användsbar utan är till för att ärvas

38
Q

Vad innebär överskuggning?

A
  • 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
Q

Hur implementeras överskuggning?

A

Genom att @Override skrivs innan metoden, som måste ha samma namn och argument som metoder den överskuggar

40
Q

Hur fungerar abstraktionsnivå?

A

Man börjar med hög abtraktionsnivå och specialiserar, konkretiserar och specialiserar neråt.

41
Q

Vad är abtrakta metoder?

A

när en abstrakt klass delegerar implementation av metod till subklass

42
Q

När används abstrakta metoder?

A

När en abstrakt klass inte vet hur uppgiften ska lösas, men att den ska göras

43
Q

Hur skrivs abstrakta metoder i Java?

A

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