Objekt i Java


Ett objekt i Java innehåller informationen som beskriver attributen (tillstånd) och egenskaperna (metoderna) från en klass. Man kan ha flera objekt från samma klass, där varje objekt är unikt! Man säger att ett objekt är en instans av en klass. 

Vad är ett objekt i Java?

Ett objekt är en instans av en klass som innehåller informationen som klassen anger att objektet måste ha, det vill säga, attributen (tillstånden) samt egenskaperna (metoderna). Ofta skapar man flera objekt från samma klass. Objekten är då helt oberoende av varandra, fastän de kommer från samma klass! Detta kallar man ofta för inkapsling vilket betyder att objektet är helt oberoende på andra objekt eller kod, eftersom objektet enbart utför det som den är instruerad att göra. En programmerare behöver därför bara veta hur man komunicerar med objektet, utan att veta hur objektet utför uppgiften.

Ett objekt är:

  • En instans av en klass.
  • Inkapslad, vilket innebär att den är oberoende på annan kod.
  • Håller de attribut som är angivna vid instansieringen.
  • Kan utföra de metoder som är angivna i motsvarande klass.
  • Även två objekt från samma klass är oberoende av varandra.

Hur fungerar objekt i Java?

Ett objekt innehåller information om objektets tillstånd (exempelvis färg och årsmodell på en bil). Objekt innehåller även information om hur objektet beter sig, vilket specificeras i klassens metoder (exempelvis köra framåt, tuta, eller svänga för en bil). Ett objekt i Java kan vara precis vad som helst, eftersom det är du själv som avgör hur objektet defineras när du skapar klassen. Skapa därför flera små modeller (klasser) av hela programmet där varje byggsten är en egen klass!

Man brukar säga att ett objekt är en instans av en klass.

Man brukar säga att ett objekt är en instans av en klass. Attributen som ska definieras när man skapar ett objekt kallas därför naturligt för instansvariabler. Varje objekt kan ha olika instansvariabler, trots att de kommer från samma klass. Två objekt från samma klass är därför helt oberoende av varandra! Detta sätt att bygga upp program kallas för objektorienterad programmering, varje del i programmet sköter sin del i programmet!

Exempel – Objekt i Java

I föregående avsnitt beskrev vi klassen hund enligt koden:

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

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

    //Definierar metoderna (egenskaperna) 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
    }
}
Klassen hund i Java

Det kanske är trovärdigt att vi vill skapa fler än en hund när vi programmerar. Tack vare klasser och objekt kan vi använda samma klass för att skapa flera objekt av samma sort (det skulle ju vara väldigt jobbigt om vi behövde skapa en egen klass till varje hund).

Vi önskar i detta exempel två stycken hundar, alltså två stycken objekt från samma klass:

Hund 1:

Namn: Bosse

Ålder: 3

Ras: Terrier

Färg: Brun

Objektet hund i Java. Representation över hur man kan skapa ett objekt i Java

Hund 2:

Namn: Båtsman

Ålder: 5

Ras: Sankt Bernhard

Färg: Svart

Objektet hund i Java. Representation över hur man kan skapa ett objekt i Java

Som du ser så skiljer de två hundarna sig åt, men vi kan trots det använda samma klass för att skapa objekten (de har ju alla samma egenskaper!). Detta är väldigt användbart när man vill programmera flera objekt av samma sort. Kanske vill du programmera en hel hundgård?

Vad är skillnaden mellan objekt och en klass?

En klass är en mall på hur ett objekt ska se ut. I klassen anger man vilka egenskaper (metoder), samt vilka attribut (tillstånd) som objektet ska ha. Från klassen kan man skapa, instansiera ett objekt. Då anger man vilka tillstånd varje objekt ska ha. Alla objekten är oberoende av varandra, trots det att de kommer från samma klass.

För att skapa ett objekt använder man sig av en konstruktor. Mer om konstruktorn i nästa avsnitt.

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!