Abstrakte Methode in TypeScript

Rana Hasnain Khan 18 August 2022
Abstrakte Methode in TypeScript

Wir werden anhand von Beispielen vorstellen, was eine abstrakte Methode in TypeScript ist. Wir werden auch eine abstrakte Klasse in TypeScript mit Beispielen vorstellen.

Abstrakte Methode in TypeScript

Bei der Arbeit an kommerziellen Anwendungen müssen wir einige allgemeine Verhaltensweisen oder Funktionen definieren, die später für mehrere Zwecke verwendet werden können. Zu diesem Zweck verfügt TypeScript über eine Funktion, die als Abstract bekannt ist. Wir können Klassen mit diesem Schlüsselwort und allgemeine Verhaltensweisen mit abstrakten Methoden innerhalb abstrakter Klassen definieren.

Das Wort abstract wird hauptsächlich für Klassen in TypeScript verwendet. Wenn wir ein gemeinsames Verhalten in einer Klasse definieren wollen, von dem weitere Klassen abgeleitet werden können, wird es als abstrakte Klasse bezeichnet.

Das Schlüsselwort abstract wird verwendet, um eine abstrakte Klasse zu definieren.

Jede abstrakte Klasse besteht aus einer oder mehreren abstrakten Methoden, die mit dem Schlüsselwort abstract definiert sind. Abstrakte Methoden sind die Methoden, die die gemeinsame Funktionalität auf die abgeleiteten Klassen übertragen.

Die abgeleiteten Klassen müssen alle in der Hauptklasse definierten abstrakten Methoden definieren.

Lassen Sie uns ein Beispiel durchgehen, in dem wir eine abstrakte Klasse mit einer abstrakten Methode erstellen, wie unten gezeigt.

# TypeScript
abstract class Course {
    courseName: string;

    constructor(courseName: string) {
        this.courseName = Typescript;
    }

    abstract search(string): Course;
}

Wie Sie im obigen Beispiel sehen können, haben wir eine abstrakte Klasse Course erstellt, in der wir eine abstrakte Methode search definiert haben. Lassen Sie uns eine andere Klasse von dieser Klasse ableiten und ihre Methoden verwenden, wie unten gezeigt.

# TypeScript
abstract class Course {
    courseName: string;

    constructor(courseName: string) {
        this.courseName = courseName;
    }
    abstract search(string): Course;
}

class Subject extends Course {
    subCode: number;

    constructor(courseName: string, subCode: number) {
        super(courseName);
        this.subCode = subCode;
    }

    search(courseName:string): Course {
        return new Subject(courseName, 1);
    }
}

let sub: Course = new Subject("Typescript", 101);

let sub2: Course = sub.search('Javascript');

Auf diese Weise können wir die abstrakte Methode innerhalb der abgeleiteten Klassen verwenden.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn