Klasser och instanser

Klasser är ett sätt att klumpa ihop variabler och metoder som hör till samma "sak" i ett spel eller ett program. De gör det lättare att felsöka och lättare att hålla god struktur.

Man kan betrakta en klass som en ritning för något - "såhär ska fiender i spelet se ut - de ska ha de här egenskaperna".

Sedan skapar man instanser av klassen - de konkreta, faktiska fienderna. Alla goombas i Super Mario Bros och alla paladiner i World of Warcraft bygger på samma ritning. De har samma egenskaper och utseende i grunden, även om de skiljer sig åt i vilka värden en del av egenskaperna har. De befinner sig till exempel på olika positioner, även om de alla har en position.

Skapa klasser

Generellt bör varje klass läggas i sin egen fil. Med C# Dev Kit finns ett snabbt och enkelt sätt:

  • Gå till Explorer och öppna Solution Explorer.

  • Högerklicka på projektet klassen/filen ska läggas till i.

  • Välj "Add new File".

  • Välj "Class".

  • Skriv in namnet på klassen – glöm inte namngivning med PascalCase!

  • Skriv in skriv in using och namnet på klassens namespace högst upp i Program.cs

Goomba.cs
namespace PlumberPlatformer

class Goomba
{
  // Klassvariabler
  public int X = 0;
  public int Y = 0;
  public bool IsDead = false;
}
Program.cs
using PlumberPlatformer;

Skapa instanser

Kodordet new skapar nya instanser i minnet (heapen).

Därefter behöver en referens till instansen lagras någonstans, till exempel i en variabel.

Goomba g1 = new Goomba();
Goomba g2 = new Goomba();

Därefter kan man ändra på de individuella instansernas variabler separat:

g1.X = 60;
g1.Y = 20;
g2.X = 80;
g2.Y = 25;

Man kan också tilldela värden till variablerna direkt när instansen skapas:

Goomba g3 = new Goomba() {x = 10, y = 6};

New()

Om man (som ovan) skapar en instans av exakt samma klass som variabeln så kan koden förenklas. Det gäller med andra ord nästan jämt – undantaget är vid polymorfism.

Goomba g4 = new();
Goomba g5 = new() {X = 100};

Last updated