Abstrakte metoder i OOP i TypeScript
Det hender at underklasser må ha
en felles metode, men implementeringen av denne
metoden avhenger av den spesifikke underklassen. I
dette tilfellet kan denne metoden deklareres i
den abstrakte foreldreklassen uten å skrive
dens implementasjon. Og da vil underklasser være
forpliktet til å implementere disse metodene. Slike
metoder kalles abstrakte og
deklareres også ved hjelp av nøkkelordet
abstract.
La oss for eksempel ta vår abstrakte
klasse User. La underklasser av denne
klassen må ha metoden show,
som viser objektets data.
Implementeringen av denne metoden vil imidlertid
avhenge av underklassen. La oss i klassen User
deklarere denne metoden som abstrakt:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
public abstract show(): string;
}
La oss implementere denne metoden i underklassen Student:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
show() {
return this.name + ' ' + this.course;
}
}
La oss implementere denne metoden i underklassen 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 abstrakte klassen Figure, lag
abstrakte metoder for å få arealet
og omkretsen.
I underklassene Square og
Rectangle, skriv implementasjonen av disse
metodene.