Abstrakta metoder i OOP i TypeScript
Det händer att underordnade klasser måste
ha en gemensam metod, men implementeringen av denna
metoden beror på den specifika underordnade. I
i det här fallet kan denna metod deklareras i
den abstrakta föräldraklassen, utan att skriva
dess implementering. Och då kommer de underordnade att
vara skyldiga att implementera dessa metoder. Sådana
metoder kallas abstrakta och
deklareras också med hjälp av nyckelordet
abstract.
Låt oss som exempel ta vår abstrakta
klass User. Låt arvingar till denna
klass måste ha metoden show,
som visar objektets data.
Implementeringen av denna metod kommer dock
att bero på den underordnade. Låt oss i klassen User
deklarera denna metod som abstrakt:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
public abstract show(): string;
}
Låt oss implementera denna metod i den underordnade klassen Student:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
show() {
return this.name + ' ' + this.course;
}
}
Låt oss implementera denna metod i den underordnade klassen Employee:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
show() {
return this.name + ' ' + this.salary;
}
}
I den abstrakta klassen Figure, skapa
abstrakta metoder för att få arean
och omkretsen.
I de underordnade klasserna Square och
Rectangle, skriv implementeringen av dessa
metoder.