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:

typescriptabstract class User {
  public name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  public abstract show(): string;
}

La oss implementere denne metoden i underklassen Student:

typescriptclass 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:

typescriptclass Employee extends User {
  public salary: number;

  constructor(name: string, salary: number) {
    super(name);
    this.salary = salary;
  }
  
  show() {
    return this.name + ' ' + this.salary;
  }
}
Задание 1

I den abstrakte klassen Figure, lag abstrakte metoder for å få arealet og omkretsen.

Задание 2

I underklassene Square og Rectangle, skriv implementasjonen av disse metodene.