Termer 2 Flashcards
Klassattribut, Statiska Attribut
attribut som tillhör klassen (inte instansen av objektet)
Klassmetoder, Statiska metoder
metoder som tillhör klassen (inte instansen av objektet)
Klassobjekt
ett objekt som representerar klassen själv och som skapas direkt när klassen deklareras
en klass specificerar en typ för de instanser som klassobjektet kan skapa, samt en konstruktör som specificerar hur instanserna skapas
representeras på heapen
Instansobjekt
ett objekt som skapas utifrån den ritning som angivits i en klass
skapas genom ett anrop till klassens konstruktor
Instansattribut
Attribut som tillhör instanserna av objektet
Instansmetoder
Metoder som tillhär instansen av objektet
Objekt
en sammansättning av attribut och metoder som lagras som en enhet på heapen
Klassdiagram
Kommunicerar vilka klasser som finns, vad de kan och hut de beror på varandra
avgörs statiskt före kompilering
Objektdiagram
kommunicerar vilka objekt och variabler som existerar vid en given punkt under exekvering
avgörs dynamiskt under runtime
Parameter
värden eller variabler som skickas till en metod eller funktion vid anrop
public int addNumbers(int a, int b) {
return a + b;
}
int result = example.addNumbers(5, 10);
Argument
det värdet vi skickar till en metod när vi anropar den för att fylla i dess parametrar
Implicita argument
objektet som vi anropar metoden på
Implicit parameter
enbart instansmetoder har implicit parametern this
this refererar till det implicita argumentet, dvs instansobjektet vars metod har anropats
Referensvariabel
har både en statisk typ och en dynamisk typ
Polygon p = new Triangle(10,10);
polygon: statisk typ
triangle: dynamisk typ
Statisk typ
declared typ som alltid kommer vara densamma
Dynamisk typ
objektets typ är variabelns dynamiska typ
Subtypspolymorfism
ett objekt av typ T kan uppträda som ett objekt av typ S om S är en superklass till T
Parametrisk polymorfisme
en typ eller metod kan vara parametriserad över en annan typ
den parametriserade typen (metoden) definierar en struktur som är oberoende av den typ som den tar som argument
ger möjlighet att definiera en generell struktur som sedan kan specialiseras för olika konkreta typer
Overloading
ett objekt har flera metoder med samma namn men olika signatur(typer på dess parametrar)
vilken signatur som används bestäms statiskt