typescript type for abstract class code example
Example 1: ts abstract class
abstract class Person {
name: string;
constructor(name: string) {
this.name = name;
}
display(): void{
console.log(this.name);
}
abstract find(string): Person;
}
class Employee extends Person {
empCode: number;
constructor(name: string, code: number) {
super(name);
this.empCode = code;
}
find(name:string): Person {
return new Employee(name, 1);
}
}
let emp: Person = new Employee("James", 100);
emp.display();
let emp2: Person = emp.find('Steve');
Example 2: abstract classes in typescript
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 Department();
Cannot create an instance of an abstract class.2511Cannot create an instance of an abstract class.department = new AccountingDepartment();
department.printName();
department.printMeeting();
department.generateReports();
Property 'generateReports' does not exist on type 'Department'.2339Property 'generateReports' does not exist on type 'Department'.Try