Klasser och instanser
Last updated
Was this helpful?
Last updated
Was this helpful?
Was this helpful?
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.
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
namespace PlumberPlatformer
class Goomba
{
// Klassvariabler
public int X = 0;
public int Y = 0;
public bool IsDead = false;
}
using PlumberPlatformer;
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};
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};