ඔබ්ජෙක්ට් අභිමුඛ වැඩසටහන් කිරීමේ දී TypeScript හි වියුක්ත ක්‍රම

සමහර විට, උපවර්ගවලට පොදු ක්‍රමයක් තිබිය යුතුය, කෙසේ වෙතත්, එම ක්‍රමය ක්‍රියාත්මක කිරීම නිශ්චිත උපවර්ගය මත රඳා පවතී. මෙම අවස්ථාවේ දී මෙම ක්‍රමය මාපියයාගේ වියුක්ත පන්තියේ අධිෂ්ඨාන කළ හැකිය, එහි ක්‍රියාත්මක කිරීම ලිවීමෙන් තොරව. එවිට උපවර්ග මෙම ක්‍රම ක්‍රියාත්මක කිරීමට බැඳී සිටී. එවැනි ක්‍රම හඳුන්වන්නේ වියුක්ත ලෙස වන අතර මූලපදය භාවිතයෙන් ද abstract අධිෂ්ඨාන කරනු ලැබේ.

උදාහරණයක් ලෙස, අපගේ වියුක්ත පන්තිය User ගනිමු. මෙම පන්තියේ උරුමක් සතුව අනිවාර්යයෙන්ම show ක්‍රමය තිබිය යුතුය, එමඟින් වස්තුවේ දත්ත ප්‍රදර්ශනය කරයි.

මෙම ක්‍රමය ක්‍රියාත්මක කිරීම, කෙසේ වෙතත්, උපවර්ගය මත රඳා පවතී. අපි User පන්තියේ මෙම ක්‍රමය වියුක්ත ලෙස අධිෂ්ඨාන කරමු:

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

මෙම ක්‍රමය Student උපවර්ග පන්තියේ ක්‍රියාත්මක කරමු:

typescriptclass Student extends User {
  public course: number;

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

මෙම ක්‍රමය 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

වියුක්ත පන්තියේ Figure වර්ගඵලය සහ පරිමිතිය ලබා ගැනීම සඳහා වියුක්ත ක්‍රම සකස් කරන්න.

Задание 2

උපවර්ග පන්තිවල Square සහ Rectangle මෙම ක්‍රමවල ක්‍රියාත්මක කිරීම ලියන්න.