TypeScript में OOP अमूर्त कक्षाएं

ऐसी स्थितियाँ होती हैं जब हमारे पास एक मूल कक्षा होती है, जिसमें सामान्य गुण और विधियाँ होती हैं, और उससे उत्तराधिकारी कक्षाएं प्राप्त होती हैं।

इसके अलावा, ऐसा हो सकता है कि हम उत्तराधिकारी कक्षाओं की वस्तुएं बनाएंगे, लेकिन मूल कक्षा की नहीं। यह हमारे लिए केवल सामान्य गुणों और विधियों को समूहित करने के लिए आवश्यक है।

इस मामले में, मूल कक्षा की वस्तुओं का निर्माण स्पष्ट रूप से प्रतिबंधित करने के लिए, इसे अमूर्त घोषित किया जा सकता है। यह abstract कीवर्ड का उपयोग करके किया जाता है।

आइए एक उदाहरण देखें। हमारी कक्षा User लें और इसे अमूर्त घोषित करें:

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

आइए एक कक्षा Student बनाएं, जो User से प्राप्त हो:

typescriptclass Student extends User {
  public course: number;

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

आइए एक कक्षा Employee बनाएं, जो User से प्राप्त हो:

typescriptclass Employee extends User {
  public salary: number;

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

एक अमूर्त कक्षा Figure बनाएं, जो एक ज्यामितीय आकृति का प्रतिनिधित्व करती है। इसमें परिधि और क्षेत्रफल के लिए गुण हों।

Задание 2

कक्षा Square बनाएं, जो कक्षा Figure से प्राप्त हो।

Задание 3

कक्षा Rectangle बनाएं, जो कक्षा Figure से प्राप्त हो।