Om ordlistan
Jag kommer inte lÀgga alla ord eller begrepp i ordlistan. Ordlistan Àr hÀr sÄ att jag slipper ha en massa notes i EDAA01 directory. Begrepp och ord som inte förtjÀnar sin egen note kommer att vara hÀr. AlltsÄ alla grejer som kan vara en footnote kommer jag lÀgga hÀr sÄ att jag kan linka till dem, sÄ allting blir snyggt.
Abstrakta Klasser
En abstrakt klass Àr en klass som inte kan skapas som ett eget objekt utan Àr tÀnkt att Àrvas av andra klasser. Den Àr typ som en mall. Man skapar en abstrakt klass med nyckelordet abstract
.
abstract class Djur {
String color;
Djur(String color) { // Konstruktor
this.color = color;
}
abstract void ljud(); // Abstrakt metod
void andas() { // Vanlig metod (har implementation)
System.out.println("Djuret andas.");
}
}
class Hund extends Djur {
Hund(String color) {
super(color); // Anropar Djurs konstruktor
}
void ljud() { // Implementerar den abstrakta metoden
System.out.println("Voff voff!");
}
}
Abstrakta Metoder
En abstrakt metod Àr en metod utan implementation. Den mÄste finnas i en abstrakt klass och mÄste implementeras av klasser som Àrver den. I klassen Djur Àr en abstrakt metod ljud()
. Man skapar en abstrakt metod med nyckelordet abstract
före typen.
Abstrakta Datatyper
Fill this out. There is a whole lecture about it
Klass
En klass (konkret klass) Àr en mall som beskriver hur objekt skapas och fungerar. Klassen definerar variabler och metoder som objekt av klassen kommer att ha.
Objekt
En objekt Àr en instans av en klass. Till skillnad frÄn en klass kan objekt göra nÄgonting i java, kan anvÀndas i ett programm.
Flera objekt kan skapas ur samma klass.
Instansiera
Att instanisera betyder att skapa objekt ur en klass. NĂ€r man instansierar en klass anropar man dess konstruktor med new
, vilket skapar en ny instans (ett nytt objekt) av klassen i minnet.
Anta att vi har en klass Bil
med en konstruktor fÀrg
:
Bil minBil = new Bil("Röd")
Referensvariabel
En referensvariabel lagrar en adress till en objekt i minnet, inte sjÀlva objektet.
Konstruktor
En konstruktor Àr en speciell metod i en klass som anvÀnds för att initiera objektets egenskaper.
En konstruktor har samma namn som klassen, har ingen returtyp och körs automatiskt nÀr new
anvÀnds.
Ett exempel pÄ en konstruktor finns is klassen Djur
Superklass
En superklass Àr en klass som innehÄller variabler och metoder som kan Àrvas av andra klasser.
Subklass
En subklass Àr en klass som Àrver frÄn en superklass. Man skapar en subklass med nyckelordet extends
och @override
anvÀnds för att skriva över en metod frÄn superklassen.
Konstant
En variabel vars vÀrde inte kan Àndras efter att det har tilldelats.
Man skapar en konstant med nyckelordet final
.
public static final double PI = 3.14159;
Statisk Metod
En statisk metod Àr en metod som tillhör sjÀlva klassen och inte en instans av klassen. Vad det betyder Àr att vi kan anropa en statisk metod utan att skapa en objekt av klassen. Man skapar en statisk metod med nyckelordet static
.
public static int addera(int a, int b) {
return a + b;
}
Anta att addera(a,b) ligger i klassen Matematik
. DĂ„ kan vi anropa metoden med:
...
int summa = Matematik.addera(5, 10);
...
Default-metod
En default-metod Àr en en metod med implementation som man lÀgger i ett interface. Det löste ett problem dÀr om man ville lÀgga till en metod i ett interface sÄ behövde man uppdatera alla klasser som implementerade den. Med en default-metod sÄ behöver man inte uppdatera klasser men man kan om man vill. Man skapar en default-metod med nyckelordet default
.
I interface Djur sÄ kan man lÀgga till en default-metod sleep()
som alla klasser kommer att ha, âby defaultâ.
default void sleep() {
System.out.println("Djuret sover...");
}