# टाइपस्क्रिप्ट में क्लासेस — टाइपस्क्रिप्ट

Source: https://www.geekswithgeeks.com/hi/typescript/ts-classes-basics

> टाइप्ड प्रॉपर्टीज़, कंस्ट्रक्टर, और वह इंटरफ़ेस जिसे क्लास को संतुष्ट करना है।

## एक टाइप्ड क्लास

हर प्रॉपर्टी का टाइप घोषित करें, फिर कंस्ट्रक्टर में मान असाइन करें।

```typescript
class Dog {
  name: string;
  age: number;

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

  bark(): string {
    return `${this.name} says Woof!`;
  }
}

const rex = new Dog("Rex", 3);
```

## इंटरफ़ेस लागू करना

`implements`, TS से जँचवाता है कि क्लास वाक़ई वह सब देती है जो इंटरफ़ेस वादा करता है।

```typescript
interface Speaker {
  speak(): string;
}

class Cat implements Speaker {
  speak(): string {
    return "Meow!";
  }
}
// If speak() were missing:
// Error: Class 'Cat' incorrectly implements interface 'Speaker'.
```

## क्लासेस भी स्ट्रक्चरल हैं

किसी इंटरफ़ेस को संतुष्ट करने के लिए क्लास को `implements` की ज़रूरत नहीं — अगर उसका आकार मेल खाता है, TS इसे वहाँ स्वीकार करता है जहाँ वह इंटरफ़ेस अपेक्षित है।
