Nyckelord: Klass, Objekt, Objektorienterad programmering, Instansiering
I den här artikeln ska vi titta närmare på klasser i Java. Som vi vet är Java ett objektorienterat programmeringsspråk och huvudkonceptet för det objektorienterade tillvägagångssättet är att dela upp komplexa problem i mindre klasser och objekt. Låt oss inleda med att reda vad en klass faktiskt är för någonting, för att sedan se hur vi kan skapa och använda oss av en klass.
En klass i Java beskriver de attribut och egenskaper 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 strukturera hela programmet i flera mindre modeller som tillsammans utgör 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.
Kort sammanfattat så är en klass i Java:
Det är klassen som bestämmer vilka olika egenskaper och tillstånd ett objekt ska ha. Låt oss försöka illustrera hur samverkan mellan en klass och ett objekt skulle kunna se ut.
Klassen specificerar hur (vilka egenskaper) och vilka tillstånd (attribut) som ett objekt som skapas från den klassen måste ha. Detta är en av de stora fördelarna med objektorienterad programmering, eftersom vi nu kan skapa flera objekt, så kallade instanser av klassen, och på så sätt försäkra oss om att alla objekt fungerar på samma sätt men ändå var helt oberoende av varandra.
A class is a blueprint or prototype from which objects are created
Oracle
Tänk dig ett objekt av en viss sort, låt oss ta en bil som ett exempel. Det finns ju otroligt många olika typer av bilar i världen, men majoriteten av alla bilar har fyra hjul, en ratt och kan köra framåt, bakåt och svänga. 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 att ha hjul, ratt och kunna köra i olika riktningar är det som definierar den. Man kan säga att det är en mall för hur bilar ser ut och fungerar och i objektorienterad programmering kallar vi en sådan mall för en klass. Om vi tar och ritar upp det i en liknande figur som vi såg innan.
Det figur 2 ovan visar är hur vi har vår mall, det vill säga klassen för en bil, och att vi från den mallen kan vi skapa olika bilar som trots sina skillnader i utseende och funktionalitet delar samma grundförutsättningar.
Att skapa en klass i Java är enkelt. Man skapar en klassen med det reserverade ordet class, följt av det namn man vill att klassen ska ha. Sedan så specificerar man vilka attribut (variabler) och egenskaper (metoder) som klassen ska ha innanför måsvingarna.
Gällande attribut i en klass så är de av en viss datatyp med ett tillhörande namn. Du kan tänka dig attributen som en variabel i Java, men med skillnaden att variablerna enbart är synliga inom klassen. Vidare, egenskaperna är vad objektet ska kunna göra, det vill säga, de metoder som objektet har.
Vi använder instruktionerna ovan och skriver in det i kodeditorn
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 } }
När du sparar programmets fil måste du spara den med exakt samma namn som klassen. Viktigt att komma ihåg att Java är skiftlägeskänsligt och när du sparar din fil kom även ihåg att lägga till .java (punkt java) i slutet av namnet. Om det skulle vara så att filnamnet och klassnamnet inte stämmer kommer ditt program inte att kompileras.
God syntax i Java innebär att vi alltid börjar namnet på klassen med stor bokstav. Om flera ord används för att bilda ett namn på klassen ska varje inre ords första bokstav vara i versaler. Exempelvis: MyFirstJavaClass
Som vi gick igenom i artikeln för syntax i Java så är syntax inget måste, ditt program kommer att fungera och exekvera ändå, men det är klart rekommenderat att följa den syntax som programmeringsspråket har för att minimera risken för misstag. Vidare, självklart gäller samma regler som vanligt i Java, exempelvis är specialtecken som !, & eller #, samt svenska tecken som å, ä eller ö, inte tillåtna.
Vi ska nu ta två exempel på hur man kan skapa två enklare klasser i Java.
Likt det exemplet vi gick igenom innan så skulle en väldigt förenklad klass för en bil se ut som följande
//Skapar klassen "Car". Praxis är att klassnamn har stor bokstav class Car { // Definierar attributen (tillstånden) för klassen Car private String brand; private String model; private int modelYear; // Definierar egenskaperna (metoderna) för klassen Car public void drive(){ // Innehåller information om hur bilen gör när kör } public void brake(){ // Innehåller information om hur bilen gör när den bromsar } }
I exemplet ovan så har vi alltså skapat:
Vi ska nu påbörja ett exempel som vi kommer att bygga vidare på genom hela det här kapitlet. Det vi ska göra är att programmera en hund och låt oss därför börja med att skapa en klass för en hund. Vi bestämmer först vilka attribut klassen för hund ska innehålla:
Sedan så vill vi självklart att hunden ska ha några egenskaper, alltså vad hunden ska kunna göra. Vi skapar några metoder för följande egenskaper:
Låt oss nu överföra det vi har ställt upp ovan till kod
//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 det kommer vi åtgärda i senare avsnitt. Det fina med klassen är att vi nu har en mall av hur en hund är. Det innebär att om vi vill skapa flera hundar behöver vi inte programmera flera hundar med samma kod om och om igen, utan istället så kan vi utföra vad som kallas för instansieringar av ett objekt av klassen hund.
Avslutningsvis, som vi nämnde i början så är det här ett exempel som kommer följa med genom hela kapitlet, så på nästkommande sida ska vi skapa två hundar, eller rättare sagt, vi kommer skapa två objekt av klassen hund.
En klass i Java beskriver de attribut och egenskaper som ett objekt ska ha. Man kan beskriva det som att klassen fungerar som en mall på vad objektet ska ha för egenskaper och tillstånd. Med hjälp av klasser kan vi skapa små modeller över hela programmet som tillsammans sedan skapar ett helt program.
Objektorienterad programmering innebär att varje klass sköter “sin del” av programmet och är helt oberoende på vad andra klasser gör. Kom ihåg att programmets fil måste ha samma namn som klassen och att det är god syntax att klassnamnet börjar med stor bokstav.
Lämna gärna feedback med hjälp av stjärnorna nedan och hjälp oss att fortsätta göra sidan bättre.
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!
En klass i Java beskriver de attribut och egenskaper 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 strukturera hela programmet i flera mindre modeller som tillsammans utgör ett helt program.
Det är inget måste men absolut en rekommendation. Det anses vara god syntax i Java att klassnamnet börjar med stor bokstav, samt om flera ord används för att bilda ett namn på klassen ska varje inre ords första bokstav vara i versaler. Till exempel, TheAnimalClass
Ja det måste överensstämma. Om det skulle vara så att filnamnet och klassnamnet inte stämmer kommer ditt program inte att kompileras.
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!