Avancerede klassefunktioner
Opdag avancerede klassefunktioner som abstrakte klasser, adgangsmodifikatorer og statiske medlemmer, så du kan skrive ren, modulær og objektorienteret TypeScript-kode.
Avancerede klassefunktioner er en gratis TypeScript Academy-lektion på CoddyKit. Dette er lektion 2 af 3. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i TypeScript Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. TypeScript Academy-kurset indeholder 3 lektioner i alt.
Introduktion til avancerede klassefunktioner
TypeScript tilbyder flere avancerede klassefunktioner, som hjælper dig med at skrive modulær, skalerbar og vedligeholdelsesvenlig objektorienteret kode.
I denne lektion lærer du om adgangsmodifikatorer, abstrakte klasser, statiske medlemmer med mere.

Oversigt over avancerede klassefunktioner
Introduktion til avancerede klassefunktioner
TypeScript tilbyder flere avancerede klassefunktioner, som hjælper dig med at skrive modulær, skalerbar og vedligeholdelsesvenlig objektorienteret kode.
I denne lektion lærer du om adgangsmodifikatorer, abstrakte klasser, statiske medlemmer med mere.

Adgangsmodifikatorer
TypeScript har tre adgangsmodifikatorer, der styrer synligheden af klassens medlemmer:
public: Tilgængelig overalt (standard).private: Kun tilgængelig i klassen.protected: Tilgængelig i klassen og dens underklasser.
class Person {
public name: string;
private age: number;
protected role: string;
constructor(name: string, age: number, role: string) {
this.name = name;
this.age = age;
this.role = role;
}
}
class Employee extends Person {
getRole(): string {
return this.role; // Accessible because it's protected
}
}Abstrakte klasser
Abstrakte klasser bruges som skabeloner for andre klasser. De kan ikke oprettes som instanser direkte og kan indeholde abstrakte metoder.
abstract class Shape {
abstract getArea(): number;
}
class Circle extends Shape {
constructor(public radius: number) {
super();
}
getArea(): number {
return Math.PI * this.radius ** 2;
}
}
const circle = new Circle(5);
console.log(circle.getArea()); // 78.54Statiske medlemmer
Statiske medlemmer tilhører selve klassen i stedet for en instans af klassen. De tilgås ved hjælp af klassens navn.
class MathUtils {
static PI = 3.14;
static calculateCircleArea(radius: number): number {
return this.PI * radius ** 2;
}
}
console.log(MathUtils.PI); // 3.14
console.log(MathUtils.calculateCircleArea(5)); // 78.5Gettere og settere
Gettere og settere giver dig mulighed for at styre, hvordan egenskaber tilgås eller ændres i en klasse.
class Person {
private _name: string;
constructor(name: string) {
this._name = name;
}
get name(): string {
return this._name;
}
set name(newName: string) {
this._name = newName;
}
}
const person = new Person('Alice');
console.log(person.name); // Alice
person.name = 'Bob';
console.log(person.name); // BobSkrivebeskyttede egenskaber
Modifikatoren readonly sikrer, at en egenskab kun kan tildeles under initialiseringen og ikke ændres senere.
class Vehicle {
readonly make: string;
constructor(make: string) {
this.make = make;
}
}
const car = new Vehicle('Toyota');
console.log(car.make); // Toyota
// car.make = 'Honda'; // Error: Cannot assign to 'make' because it is a read-only property.Private og beskyttede konstruktører
Klasser kan have private eller beskyttede konstruktører for at styre, hvordan og hvor de oprettes som instanser.
class Singleton {
private static instance: Singleton;
private constructor() {}
static getInstance(): Singleton {
if (!this.instance) {
this.instance = new Singleton();
}
return this.instance;
}
}
const singleton = Singleton.getInstance();
console.log(singleton);Øvelsesopgave
Opret en klasse med en protected-konstruktør, og udvid den i en underklasse. Tilføj metoder, der giver adgang til de beskyttede egenskaber i underklassen.
Tillykke!
Du har lært avancerede klassefunktioner som adgangsmodifikatorer, abstrakte klasser, statiske medlemmer og meget mere. Øv dig i disse begreber for at skrive ren og effektiv objektorienteret TypeScript-kode!

Lær TypeScript med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 101
- Lektioner
- 352
Ofte stillede spørgsmål
Er lektionen “Avancerede klassefunktioner” gratis?
Ja — hele teksten til “Avancerede klassefunktioner” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af TypeScript Academy-kurset, skal du opgradere til CoddyKit PRO. TypeScript Academy-kurset indeholder 3 lektioner i alt.
Hvad lærer jeg i “Avancerede klassefunktioner”?
Opdag avancerede klassefunktioner som abstrakte klasser, adgangsmodifikatorer og statiske medlemmer, så du kan skrive ren, modulær og objektorienteret TypeScript-kode. Du øver dig i TypeScript Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på TypeScript Academy?
Der kræves ingen tidligere erfaring. TypeScript Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 3.
Hvor lang tid tager lektionen “Avancerede klassefunktioner”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne TypeScript Academy-lektion?
Ja. Alle TypeScript Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Avanceret typeindsnævring
- Avancerede klassefunktioner
- Betingede typer