Klasser i Java


Klasser i Java innehåller dels egenskaper (variabler och attribut) som ett objekt ska ha, dels metoder som beskriver vad objektet ska kunna göra. En klass fungerar som en mall som kan användas för att bygga upp flera olika objekt av samma typ.

Vad är en klass i Java?

En klass i Java, beskriver vilka egenskaper och attribut som ett objekt ska ha. Klassen fungerar som en mall som beskriver hur någonting är (attribut) och vad den gör (egenskaper). Genom att skapa flera klasser, kan man skapa små modeller över hela programmet som tillsammans skapar ett helt program. Det innebär att varje klass sköter “sin del” av programmet och är helt oberoende på vad andra klasser gör vilket skapar objektorienterad programmering.

En klass är:

  • En mall över hur man skapar, instansierar ett specifikt objekt.
  • Beskriver vilka egenskaper och attribut som ett objekt har.
  • Är grunden för objektorienterad programmering.
  • Många små klasser bygger upp stora program.
  • Varje klass sköter sin del av programmet och är oberoende på vad andra klasser gör.

Hur fungerar Klasser i Java ?

Tänk dig ett objekt av en viss sort, exempelvis en bil. Det finns ju ofantligt många olika typer av bilar i världen, men vi kan vara överens om att en bil har fyra hjul, en ratt och kan köra framåt. Det är det som definierar en bil. Bilen kan såklart se ut på massor av olika sätt och ha många olika funktioner, men ha hjul, ratt och kunna köra är det som definierar den.

Det är klassen som bestämmer vilka olika egenskaper och attribut, objektet vi vill programmera ska ha.

Man kan säga att det är en mall för hur bilar ser ut och fungerar. I programmering kallar vi en sådan mall för klass. Det är klassen som bestämmer vilka olika egenskaper och tillstånd ett objekt ska ha. Nedan visar vi en illustration av hur en klass fungerar. Klassen specificerar hur (vilka egenskaper) och vilka attribut (tillstånd) som ett objekt som skapas från klassen måste ha. Detta är en av Javas stora fördelar, eftersom vi nu kan skapa flera objekt (instanser av klassen) och vi kan försäkra oss om att alla objekt fungerar på samma sätt, men är helt oberoende av varandra. Det är detta som är objektorienterad programmering.

Representation av hur klasser och objekt fungerar i Java
Representation av hur klasser och objekt fungerar i Java

Hur skapar man en klass i Java?

För att skapa en klass behöver vi först bestämma tre saker:

  • Klassnamn
  • Attribut, det vill säga de tillstånd objektet kan ha.
  • Egenskaper, det vill säga vad objektet ska kunna göra.

Klassnamnet anger vi med stor bokstav. I övrigt gäller samma regler som vanligt i Java, exempelvis är specialtecken som !, & eller # inte tillåtna, samt att svenska tecken som å, ä eller ö är förbjudna.

Varje attribut i en klass är av en viss datatyp, samt har ett namn. Du kan tänka dig attributen som en variabel i Java, men till skillnad från att variablerna enbart är synliga inom klassen.

Egenskaperna är vad objektet ska kunna göra, det vill säga, de metoder som objektet har. Om du behöver upprepning i hur du skapar en metod i Java, hittar du det här: Metoder i Java – Inledning 

Hur skapar man en klass i Java – Syntax

Man skapar en klass i Java med det reserverade ordet class, följt av klassnamnet. Klassnamn börjar alltid med stor bokstav i Java. Inom måsvingar, specificerar man vilka attribut (variabler) och egenskaper (metoder) som klassen ska ha.

class Klassnamn {

   // Attribut - Ange en eller flera som klassen ska ha
   Datatyp namn;   

   // Egenskaper - Definiera alla metoder som klassen ska ha
   void metodnamn{ 

        // operation/operationer
   }
}

Skapa klasser i Java – Exempel

Vi ska i följande exempel visa hur man kan skapa en klass genom att programmera en hund. Först vill vi bestämma vilka attribut som klassen “hund” ska ha. Vi bestämmer oss för att vår hund ska ha följande attribut:

  • Namn
  • Ålder
  • Ras
  • Färg

Vi bestämmer sedan vilka egenskaper (metoder) vår hund ska ha, det vill säga vad vår hund ska kunna göra:

  • Skälla
  • Sova
  • Äta

Nedanför ser du hur attributen och metoderna skapas i java

//Skapar klassen "Dog". Praxis är att klassnamn har stor bokstav
class Dog {

    //Definierar attributen, tillstånden för klassen hund
    String name;
    int age;
    String breed;
    String color;

    //Definierar egenskaperna, metoderna för klassen hund
    void bark(){
         //Innehåller information om hur hunden gör när den skäller
    }

    void eat(){
         //Innehåller information om hur hunden gör när den äter
    }

    void sleep(){
         //Innehåller information om hur hunden gör när den sover
    }
}

Just nu gör metoderna ingenting, men mer om det i senare avsnitt. Det fina med klassen är att vi nu har en mall av hur en hund är. Fortsättningsvis, innebär det att om vi vill skapa flera hundar, behöver vi inte programmera flera hundar med samma kod om och om igen. Istället skapar vi instanser (objekt) av klassen hund, vilket kommer bidra till mer översiktlig kod och mer struktur i programmet. I nästa avsnitt går vi igenom vad ett objekt är mer i detalj.

Klasser i Java – Sammanfattning

Vi använder klasser för att få en mall av ett objekt. Varje klass definierar egenskaper och attribut och det är från klassen man kan instansiera ett objekt från. Klasser ger fördelar inom programmering så som objektorienterad programmering, snabbare utveckling och återanvändning av kod,

Vad tyckte du om sidan?

Lämna gärna feedback och hjälp oss göra sidan bättre

Feedback gör oss bättre!

Lämna gärna feedback om vad du tyckte om avsnittet!