Mbinu za Kufikiria katika OOP katika TypeScript

Hufanyika kwamba madarasa-watoto wanapaswa kuwa na mbinu ya kawaida, hata hivyo, utekelezaji wa hii mbinu inategemea mtoto maalum. Katika kesi hii mbinu hii inaweza kutangazwa katika darasa la kufikiria la mzazi, bila kuandika utekelezaji wake. Na kisha watoto watakuwa wanalazimika kutekeleza mbinu hizi. Mbinu kama hizi zinaitwa mbinu za kufikiria na pia hutangazwa kwa kutumia neno ufunguo abstract.

Kwa mfano tuchukue darasa letu la kufikiria User. Wanaorithi wa darasa hiki lazima wawe na mbinu show, inayoonyesha data ya kitu.

Utekelezaji wa mbinu hii, hata hivyo, itategemea mrithi. Hebu katika darasa User tutangaze mbinu hii kuwa ya kufikiria:

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

Tutekeleze mbinu hii katika darasa-mrithi Student:

typescriptclass Student extends User {
  public course: number;

  constructor(name: string, course: number) {
    super(name);
    this.course = course;
  }
  
  show() {
    return this.name + ' ' + this.course;
  }
}

Tutekeleze mbinu hii katika darasa-mrithi 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

Katika darasa la kufikiria Figure fanya mbinu za kufikiria za kupata eneo na mzingo.

Задание 2

Katika madarasa-watoto Square na Rectangle andika utekelezaji wa hizi mbinu.