OOP – Inledning

Inledning

Inom objektorienterad programmering finns det två centrala termer; objekt och klass. Objekt skapas från klasser, d.v.s det måste alltså finnas en klass innan man kan skapa ett objekt. Förhoppningsvis kommer artikelserien om OOP att hjälpa dig tänka mer objektorienterat när du ska skapa dina program. Exakt allt du behöver veta för att skriva egna klasser tas inte upp i denna artikel.

Vad är en klass?

En klass ska du se som en byggritning. Den känns lätt igen i koden eftersom de börjar med ordet class. T.ex.


public partial class Form1 : Form
{	…

Här talar vi om att vi har börjat beskriva hur klassen Form1 ska fungera. Det här känns nog igen då detta är typiskt för ett ”Windows application”-projekt.

Objekt skapas av klasser. Klassen bör ses som en mall för hur kommande objekt, skapta från klassen, ska fungera. En slags byggritning över vad som ska finnas med i objekten. Klassen kan (förenklat) innehålla något av följande:

  • Metoder (funktioner)
  • Primitiva variabler
  • Objekt som bygger på andra klasser

Enklaste sättet att skapa en egen ny klass är att använda den inbyggda wizard som finns i Visual Studio. Högerklicka på ditt projekt och välj "Add", sedan "Class". Mer om detta nästa artikel…

Exempel: Klass (Student.cs)

using System;
using System.Collections.Generic;
using System.Text;

namespace Exempel
{
    class Student
    {
        public string Namn;
        public int Ålder;

        public void PrintInfo()
        {
            Console.WriteLine("Hej jag heter " + Namn + " och är " + Ålder + " år");
        }
    }
}

Exemplet ovan är en mycket enkel klass som kommer att användas i exempel längre fram.

Vad är ett objekt?

Ett objekt utgör ett byggblock i OPP. Detta byggblock kapslar in en del av programmet. Objekten måste deklareras och ser oftast ut som variabler, i själva verket fungerar de som variabeltyper som du känner sen tidigare (int, string, etc.) men de kan ofta göra mer saker och innehålla mer data. Ta t.ex. objekt av klassen Random som ni har använt till att slumpa fram heltal.

I sin enklaste form påminner objekt om strukturer som rymmer medlemmar av variabel- och funktionstyper. Variablerna utgör objektets datamängd och funktionerna ger det dess funktionalitet.

Allt är objekt! Ni har använt objekt hela tiden för allt i C# är objekt.


Random rnd = new Random();
int slumptal = rnd.Next(10);

Här använder vi klassen Random och med hjälp av ”.”-tecknet väljer ni att anropa en metod/funktion (Next) som finns inkapslad i objektet rnd. På liknande sätt kan man komma åt olika sorters metoder eller variabler som kan tänkas finnas i objektet, t o m andra objekt. Det kan finnas objekt i objekt. Det beror helt på hur klassen är byggd såklart.

Vad är klass och vad är objekt?

Detta är mycket viktigt.

Objekten skapas från klasserna. Har vi gjort en klass en gång så kan vi alltså skapa hur många objekt vi vill från klassen. Objekten blir byggda från samma ritning (klass). Vi tar ett exempel:


Random myrnd1 = new Random();
Random myrnd2 = new Random();

Lär dig att känna igen detta sätt att skriva då det är typiskt för hur man skapar ett objekt av en klass. Det är just ordet new som gör att det skapas ett objekt. Enda gången du inte behöver använda ordet new vid deklarationer är då du använder primitiva variabler (int, string mm.).

Klassen heter Random och våra objekt heter myrnd1 och myrnd2. Vi har alltså skapat två objekt. myrnd1 och myrnd2 kan vi även kalla referenser då de refererar till objekt. Hur klassen Random exakt är uppbyggd är lite svårt att veta då den ingår i .NET, som i själva verket är en gigantisk samling av klasser.Random-klassen är på så sätt en del av programspråket C#.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Scroll to top