TypeScript abstract class

TypeScript Abstract Class:

Abstract class is a way of implementing 0 to 100% abstraction. A class declared with abstract keyword is known as an abstract class. An abstract class may or may not contain abstract method. Abstract classes cannot be instantiated.


abstract class className {
   // declare fields
   // declare abstract/non-abstract methods

Abstract method:

A method with no implementation i.e. without braces and followed by a semicolon.


abstract return_type methodName();


abstract class Department {

    constructor(public name: string) {

    printName(): void {
        console.log("Department name: " + this.name);

    abstract printMeeting(): void; 

class AccountingDepartment extends Department {

    constructor() {
        super("Accounting and Auditing"); 

    printMeeting(): void {
        console.log("The Accounting Department meets each Monday at 10am.");

    generateReports(): void {
        console.log("Generating accounting reports...");

let department: Department;
department = new AccountingDepartment();