fredag 30 januari 2009

2. Klasser, objekt och metoder

Java är ett Objektorienterat språk.

Detta innebär att ditt program ska kunna struktureras upp i olika objekt med direkt eller "tänkt" liknelse med verkligheten. Klasserna beskriver egenskaper och funktioner hos objektet.

Klassen "Bil" kan tex beskriva "färg" och "antal hästkrafter", och ha funktionerna "tuta" och "starta".

När man vill skapa en Bil, tex "minBil" så skapas ett objekt eller en "instans" av klassen. funktionerna hos objektet minBil kommer man åt genom punktoperatorn: minBil.starta() eller minBil.getAntalHästkrafter()

Ett objekt skapas genom någon av klassens konstruktorer och operatorn "new". Bil minBil = new Bil("röd", 150); vilket skapar en ny röd Bil med 150 hästKrafter. Det kan även finnas andra konstruktorer som tar fler argument samt en standardkonstruktor som inte tar några argument och skapar tex en ofärgad Bil utan hästKrafter; Bil minBil = new Bil();

Det anses som standard att alltid skapa "set" och "get"-funktioner hos egenskaperna. I java kallas egenskaperna klassvariabler och funktionerna kallas metoder.

För att ytterligare likna verkligheten, finns en hierarki som gör att klasser kan ärva egenskaper eller metoder från den överliggande klassen, superklassen. Våran klass Bil kan tex vara en subklass till Fordon och ha en systerklass Flyg. Flyg och Bil har en är-relation till klassen Fordon. Andra relationer kan vara har- eller känner till. Klassen Flyg har klassen Vinge och känner till klassen Passagerare.

Klassbiblioteket

Du behöver inte uppfinna hjulet på nytt varje gång, utan det finns färdiga klasser till det mesta och tillhörande dokumentation på sun's hemsida.

Du kan dessutom själv skapa klassbibliotek med klasser som du kan använda om flera gånger.

Utvecklingsmiljö - IDE

Eftersom det finns ganska mycket att välja mellan och inte alltid helt lätt att minnas exakt vad klasser, funktioner och variabler heter, kan det vara bra att ha ett hjälpmedel vid programutveckling. Där får Du hjälp med att överblicka dina projekt, klasser m.m och hjälp med alla funktioner som finns inom en klass bara genom att skriva .-operatorn till en instans.

Mer om just ett sådant hjälpmedel - en IDE, Integrated Development Environment i nästa kapitel.

Inga kommentarer:

Skicka en kommentar