TypeScript Classes's Non-Static Properties & Methods


TypeScript एक powerful tool है जो JavaScript को enhance करता है और उसमें types और object-oriented programming concepts introduce करता है।

इस topic में हम देखेंगे कि non-static properties और methods क्या होते हैं, कैसे use किये जाते हैं, और किस तरह से इनको effectively अपने TypeScript applications में implement कर सकते हैं।

Class में बिना static keyword के define किये गए सभी Properties / Methods Non Static members होते हैं , By default ये Properties / Methods Non Static ही होते हैं, और इन्हे class object के साथ ही access किया जा सकता है।

What are Non-Static Properties & Methods

TypeScript में non-static properties और non-static methods वो होते हैं जो class के instance के साथ bind होते हैं। इनको class के object के साथ use किया जाता है, unlike static properties & methods जो class के नाम के साथ bind होते हैं।

  • Non-Static Properties : यह properties हर एक instance के लिए अलग-अलग होती हैं , जब आप एक class का object बनाते हैं, तो non-static properties उस object के लिए specific data store करती हैं।

  • Non-Static Methods: यह methods भी instance के साथ related होते हैं। हर object का अपना method होता है, जो उस object के specific properties को access कर सकता है।

Difference Between Static And Non Static Members

Static Properties/Methods
  • Class के साथ bind होती हैं, instances के साथ नहीं।

  • Directly Class Name के नाम से access होती हैं।

  • Instances के लिए common data या logic को handle करती हैं।

Non-Static Properties/Methods
  • Instances के साथ bind होती हैं।

  • हर instance का अपना separate data और logic होता है।

  • Objects के behavior को define करती हैं।

TypeScript Non-Static Members Example

non-static properties / methods को define करने के लिए किसी keyword की need नहीं होती by default ये non static ही रहते रहते हैं।

class Car { model: string; year: number; constructor(model: string, year: number) { this.model = model; this.year = year; } getDetails(): string { return `Model: ${this.model}, Year: ${this.year}`; } } const myCar = new Car("Toyota", 2020); console.log(myCar.getDetails()); // Output: Model: Toyota, Year: 2020

example में model, year , getDetails() एक non-static members है। getDetails() function car details को return करता है।

हम इसे object के साथ call करते हैं, जैसे myCar.getDetails().

Real-World Example of Non-Static Properties & Methods

चलिए एक practical example देखते हैं।

class BankAccount { accountHolder: string; balance: number; constructor(accountHolder: string, initialBalance: number) { this.accountHolder = accountHolder; this.balance = initialBalance; } deposit(amount: number): void { this.balance += amount; console.log(`${amount} deposited. New balance is: ${this.balance}`); } withdraw(amount: number): void { if (this.balance >= amount) { this.balance -= amount; console.log(`${amount} withdrawn. New balance is: ${this.balance}`); } else { console.log("Insufficient balance"); } } getBalance(): number { return this.balance; } } const myAccount = new BankAccount("John Doe", 1000); myAccount.deposit(500); // Output: 500 deposited. New balance is: 1500 myAccount.withdraw(200); // Output: 200 withdrawn. New balance is: 1300 console.log(myAccount.getBalance()); // Output: 1300

इस example में, BankAccount class के non-static properties हैं accountHolder और balance, जो account का owner और balance store करती हैं।

Non-static methods जैसे deposit(), withdraw(), और getBalance() instance-specific operations को handle करते हैं।

Benefits of Non-Static Properties & Methods

  • Instance-Specific Data : Non-static properties allow करते हैं हर object के लिए अलग-अलग data store करना, जो specific instance के लिए हो।

  • Encapsulation : Non-static methods आपको instance-specific logic को encapsulate करने का chance देते हैं, जिससे आपके objects का behavior well-defined होता है।

  • Reusability : आप multiple objects बना सकते हैं एक ही class से, जिसमे हर object का अपना state और methods होता है।

  • Flexibility : Instance methods और properties को customize करने कि flexibility होती है हर instance के लिए, जिससे code dynamic और adaptable बनता है।

Conclusion

TypeScript में non-static properties और methods classes के core part हैं, जो आपको object-oriented programming concepts को effectively implement करने का chance देते हैं।

Non-static properties हर एक object के लिए अलग data को represent करती हैं, और non-static methods उस object के specific behavior को define करते हैं।

इनका use करना आपको encapsulation, flexibility, और reusability provide करता है, जिससे आपका code structured और maintainable होता है।

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook