टाइपस्क्रिप्ट में ओओपी के अमूर्त तरीके

ऐसा होता है कि वंशज वर्गों में एक सामान्य विधि होनी चाहिए, हालाँकि, इस विधि का कार्यान्वयन विशिष्ट वंशज पर निर्भर करता है। इस मामले में इस विधि को माता-पिता के अमूर्त वर्ग में घोषित किया जा सकता है, बिना इसका कार्यान्वयन लिखे। और तब वंशजों को इन विधियों को लागू करना अनिवार्य होगा। ऐसी विधियों को अमूर्त कहा जाता है और इन्हें कीवर्ड 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 में इन विधियों का कार्यान्वयन लिखें।