Avancerade klassfunktioner
Upptäck avancerade klassfunktioner som abstrakta klasser, åtkomstmodifierare och statiska medlemmar för att skriva ren, modulär och objektorienterad TypeScript-kod.
Avancerade klassfunktioner är en gratis lektion i TypeScript Academy på CoddyKit. Detta är lektion 2 av 3. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för TypeScript Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i TypeScript Academy innehåller totalt 3 lektioner.
Introduktion till avancerade klassfunktioner
TypeScript erbjuder flera avancerade klassfunktioner som hjälper Er att skriva modulär, skalbar och underhållbar objektorienterad kod.
I den här lektionen lär Ni Er om åtkomstmodifierare, abstrakta klasser, statiska medlemmar med mera.

Översikt över avancerade klassfunktioner
Introduktion till avancerade klassfunktioner
TypeScript erbjuder flera avancerade klassfunktioner som hjälper Er att skriva modulär, skalbar och underhållbar objektorienterad kod.
I den här lektionen lär Ni Er om åtkomstmodifierare, abstrakta klasser, statiska medlemmar med mera.

Åtkomstmodifierare
TypeScript tillhandahåller tre åtkomstmodifierare för att styra synligheten för klassmedlemmar:
public: Tillgänglig överallt (standard).private: Tillgänglig endast i klassen.protected: Tillgänglig i klassen och dess 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
}
}Abstrakta klasser
Abstrakta klasser används som mallar för andra klasser. De kan inte instansieras direkt och kan innehålla abstrakta 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.54Statiska medlemmar
Statiska medlemmar tillhör själva klassen i stället för någon av klassens instanser. De nås med hjälp av klassnamnet.
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.5Getters och setters
Getters och setters låter Er styra hur egenskaper nås eller ändras i en klass.
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); // BobSkrivskyddade egenskaper
Modifieraren readonly säkerställer att en egenskap endast kan tilldelas under initieringen och inte ändras senare.
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.Privata och skyddade konstruktorer
Klasser kan ha privata eller skyddade konstruktorer för att styra hur och var de instansieras.
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);Övningsuppgift
Skapa en klass med en protected-konstruktor och utöka den i en subklass. Lägg till metoder för att komma åt de skyddade egenskaperna i subklassen.
Grattis!
Du har lärt dig avancerade klassfunktioner som åtkomstmodifierare, abstrakta klasser, statiska medlemmar med mera. Öva på dessa koncept för att skriva ren och effektiv objektorienterad TypeScript-kod!

Lär dig TypeScript med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 101
- Lektioner
- 352
Vanliga frågor
Är lektionen ”Avancerade klassfunktioner” gratis?
Ja – hela texten till ”Avancerade klassfunktioner” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i TypeScript Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i TypeScript Academy innehåller totalt 3 lektioner.
Vad lär jag mig i ”Avancerade klassfunktioner”?
Upptäck avancerade klassfunktioner som abstrakta klasser, åtkomstmodifierare och statiska medlemmar för att skriva ren, modulär och objektorienterad TypeScript-kod. Ni övar på TypeScript Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig TypeScript Academy?
Du behöver inga förkunskaper. Utbildningen i TypeScript Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 3.
Hur lång tid tar lektionen ”Avancerade klassfunktioner”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här TypeScript Academy-lektionen?
Ja. Varje TypeScript Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Avancerad typförfining
- Avancerade klassfunktioner
- Villkorstyper