टाइपस्क्रिप्ट में ओओपी के अमूर्त तरीके
ऐसा होता है कि वंशज वर्गों में एक
सामान्य विधि होनी चाहिए, हालाँकि, इस विधि का
कार्यान्वयन विशिष्ट वंशज पर निर्भर करता है। इस
मामले में इस विधि को माता-पिता के अमूर्त वर्ग में
घोषित किया जा सकता है, बिना इसका
कार्यान्वयन लिखे। और तब वंशजों को
इन विधियों को लागू करना अनिवार्य होगा। ऐसी
विधियों को अमूर्त कहा जाता है और
इन्हें कीवर्ड abstract का उपयोग करके
भी घोषित किया जाता है।
उदाहरण के लिए हमारे अमूर्त वर्ग User को लेते हैं।
मान लीजिए कि इस वर्ग के वारिसों के पास show विधि
अवश्य होनी चाहिए,
जो ऑब्जेक्ट डेटा प्रदर्शित करती है।
हालाँकि, इस विधि का कार्यान्वयन
वंशज पर निर्भर करेगा। आइए वर्ग User में
इस विधि को अमूर्त के रूप में घोषित करें:
abstract class User {
public name: string;
constructor(name: string) {
this.name = name;
}
public abstract show(): string;
}
इस विधि को वंशज वर्ग Student में लागू करें:
class Student extends User {
public course: number;
constructor(name: string, course: number) {
super(name);
this.course = course;
}
show() {
return this.name + ' ' + this.course;
}
}
इस विधि को वंशज वर्ग Employee में लागू करें:
class Employee extends User {
public salary: number;
constructor(name: string, salary: number) {
super(name);
this.salary = salary;
}
show() {
return this.name + ' ' + this.salary;
}
}
अमूर्त वर्ग Figure में
क्षेत्रफल और परिमाप प्राप्त करने के लिए
अमूर्त विधियाँ बनाएँ।
वंशज वर्गों Square और
Rectangle में इन विधियों का
कार्यान्वयन लिखें।