सरल उदाहरणों के साथ टाइपस्क्रिप्ट क्लासेस का उपयोग कैसे करें

टाइपस्क्रिप्ट जावास्क्रिप्ट में शक्तिशाली विशेषताएं लाता है, जिसमें क्लास की अवधारणा भी शामिल है, जो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की अनुमति देता है। क्लास ऑब्जेक्ट बनाने, डेटा को एनकैप्सुलेट करने और व्यवहार को परिभाषित करने के लिए एक खाका प्रदान करते हैं। यह गाइड आपको सरल उदाहरणों के साथ टाइपस्क्रिप्ट क्लास की मूल बातें समझाएगा।

क्लास क्या है?

क्लास पूर्वनिर्धारित गुणों और विधियों के साथ ऑब्जेक्ट बनाने के लिए एक खाका है। यह कोड को व्यवस्थित करने, पुन: प्रयोज्यता को बढ़ावा देने और स्केलेबल एप्लिकेशन बनाने में मदद करता है। टाइपस्क्रिप्ट में क्लास अन्य ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं में क्लास के समान काम करते हैं।

मूल वर्ग को परिभाषित करना

टाइपस्क्रिप्ट में क्लास को परिभाषित करने के लिए, class कीवर्ड का उपयोग करें, उसके बाद क्लास का नाम और गुण और विधियों वाले घुंघराले ब्रेसिज़ का एक सेट लिखें।

मूल कक्षा उदाहरण

नीचे गुणों और विधि सहित एक सरल Person वर्ग का उदाहरण दिया गया है:

class Person {
  name: string;
  age: number;

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

  greet(): void {
    console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
  }
}

const person1 = new Person("Alice", 30);
person1.greet(); // Output: Hello, my name is Alice and I am 30 years old.

इस उदाहरण में, Person क्लास में दो गुण हैं: name और age। कन्स्ट्रक्टर विधि इन गुणों को आरंभीकृत करती है, और greet विधि एक अभिवादन संदेश आउटपुट करती है।

एक्सेस संशोधक

टाइपस्क्रिप्ट वर्ग सदस्यों की दृश्यता को नियंत्रित करने के लिए तीन एक्सेस संशोधक प्रदान करता है:

  • public: सदस्यों तक कहीं से भी पहुंचा जा सकता है (डिफ़ॉल्ट).
  • private: सदस्यों तक केवल क्लास के भीतर ही पहुंच संभव है।
  • protected: सदस्य वर्ग और उसके उपवर्गों के भीतर पहुँच योग्य होते हैं।

एक्सेस संशोधक का उपयोग करना

यहां बताया गया है कि आप टाइपस्क्रिप्ट क्लास में एक्सेस संशोधक का उपयोग कैसे कर सकते हैं:

class Animal {
  public name: string;
  private age: number;

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

  public getAge(): number {
    return this.age;
  }
}

const dog = new Animal("Buddy", 5);
console.log(dog.name); // Output: Buddy
console.log(dog.getAge()); // Output: 5
// console.log(dog.age); // Error: 'age' is private and only accessible within class 'Animal'.

इस उदाहरण में, name एक सार्वजनिक संपत्ति है, जो क्लास के बाहर से सुलभ है, जबकि age एक निजी संपत्ति है, जो केवल क्लास के भीतर ही सुलभ है।

टाइपस्क्रिप्ट में वंशानुक्रम

टाइपस्क्रिप्ट इनहेरिटेंस का समर्थन करता है, जो एक क्लास को दूसरे क्लास से प्रॉपर्टी और मेथड इनहेरिट करने की अनुमति देता है। यह कोड का पुनः उपयोग करने और क्लास का पदानुक्रम बनाने में मदद करता है।

विरासत का उदाहरण

नीचे एक वर्ग Dog का उदाहरण दिया गया है जो आधार वर्ग Animal से विरासत में प्राप्त होता है:

class Animal {
  constructor(public name: string) {}

  makeSound(): void {
    console.log(`${this.name} makes a sound.`);
  }
}

class Dog extends Animal {
  constructor(name: string) {
    super(name); // Call the constructor of the base class
  }

  makeSound(): void {
    console.log(`${this.name} barks.`);
  }
}

const dog = new Dog("Buddy");
dog.makeSound(); // Output: Buddy barks.

इस उदाहरण में, Dog वर्ग Animal वर्ग का विस्तार करता है और makeSound विधि को ओवरराइड करता है।

गेटर्स और सेटर्स

टाइपस्क्रिप्ट आपको गुणों के लिए गेटर्स और सेटर्स को परिभाषित करने की अनुमति देता है, जिससे क्लास सदस्यों तक नियंत्रित पहुंच मिलती है।

गेटर्स और सेटर्स उदाहरण

class Person {
  private _name: string;

  constructor(name: string) {
    this._name = name;
  }

  get name(): string {
    return this._name;
  }

  set name(newName: string) {
    if (newName) {
      this._name = newName;
    } else {
      console.log("Name cannot be empty.");
    }
  }
}

const person = new Person("Alice");
console.log(person.name); // Output: Alice
person.name = "Bob";
console.log(person.name); // Output: Bob

इस उदाहरण में, name गुण को गेट्टर और सेटर विधियों का उपयोग करके एक्सेस और संशोधित किया जाता है।

निष्कर्ष

टाइपस्क्रिप्ट क्लासेस ऑब्जेक्ट-ओरिएंटेड कोड को साफ और कुशल तरीके से लिखने का एक शक्तिशाली तरीका है। वे गुण, विधियाँ, एक्सेस संशोधक, विरासत और बहुत कुछ परिभाषित करने का एक संरचित तरीका प्रदान करते हैं। टाइपस्क्रिप्ट क्लासेस का उपयोग कैसे करें, यह समझकर आप अपने अनुप्रयोगों के लिए अधिक मजबूत और रखरखाव योग्य कोड लिख सकते हैं।

लिंक
TypeScript