Swift Academy · पाठ

स्ट्रक्चर में परिकलित गुण

केवल-get और get/set परिकलित गुणों से मान प्राप्त करना सीखें।

पाठ 3, कुल 4 में से12 चरण

स्ट्रक्चर में परिकलित गुण, CoddyKit पर Swift Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Swift Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

स्वागत है

कंप्यूटेड प्रॉपर्टी कोई मान स्टोर नहीं करतीं — वे माँगे जाने पर मान की गणना करके लौटाती हैं। कॉल करने वाले को वे प्रॉपर्टी जैसी दिखती हैं, लेकिन अंदर से कोड चलाती हैं।

केवल-पढ़ने योग्य कंप्यूटेड प्रॉपर्टी

```swift struct Circle { var radius: Double var area: Double { .pi * radius * radius } var circumference: Double { 2 * .pi * radius } } var c = Circle(radius: 5) print(c.area) // 78.53... ```

प्राप्त करना और निर्धारित करना

```swift struct Temperature { var celsius: Double var fahrenheit: Double { get { celsius * 9/5 + 32 } set { celsius = (newValue - 32) * 5/9 } } } var t = Temperature(celsius: 0) print(t.fahrenheit) // 32 t.fahrenheit = 212 print(t.celsius) // 100 ```

संक्षिप्त get — get कीवर्ड हटाना

केवल-पढ़ने योग्य प्रॉपर्टी के लिए `get { }` रैपर वैकल्पिक होता है: ```swift var area: Double { .pi * radius * radius } // same as { get { ... } } ```

set में newValue

`set` के अंदर आने वाले मान का डिफ़ॉल्ट नाम `newValue` होता है: ```swift set { celsius = (newValue - 32) * 5/9 } ``` या उसका नाम स्पष्ट रूप से दें: ```swift set(degF) { celsius = (degF - 32) * 5/9 } ```

कंप्यूटेड प्रॉपर्टी स्टोर नहीं होतीं

कंप्यूटेड प्रॉपर्टी में बैकिंग स्टोरेज नहीं होता — हर एक्सेस पर कोड चलता है: ```swift struct Stats { var scores: [Int] var average: Double { guard !scores.isEmpty else { return 0 } return Double(scores.reduce(0,+)) / Double(scores.count) } } ```

स्टैटिक कंप्यूटेड प्रॉपर्टी

```swift struct Config { static var appName: String { Bundle.main.infoDictionary?["CFBundleName"] as? String ?? "App" } } print(Config.appName) ```

प्रोटोकॉल में कंप्यूटेड प्रॉपर्टी

```swift protocol Greetable { var greeting: String { get } } struct Person: Greetable { var name: String var greeting: String { "Hello, \(name)!" } } ``` प्रोटोकॉल में कंप्यूटेड प्रॉपर्टी आवश्यक की जा सकती हैं — बस `{ get }` या `{ get set }` निर्दिष्ट करें।

कंप्यूटेड बनाम स्टोर की गई प्रॉपर्टी का प्रदर्शन

• कंप्यूटेड: हर एक्सेस पर फिर से गणना की जाती है — बार-बार पढ़ी जाने वाली प्रॉपर्टी में महँगी गणना से बचें • महँगे, एक बार गणना किए जाने वाले मानों के लिए `lazy var` का उपयोग करें: ```swift lazy var thumbnail: UIImage = generateThumbnail() ```

एक्सप्रेशन बॉडी बनाम ब्लॉक

Swift 5.9+ में एकल-एक्सप्रेशन वाली कंप्यूटेड प्रॉपर्टी अपने-आप मान लौटाती हैं: ```swift var fullName: String { "\(first) \(last)" } // equivalent to: var fullName: String { return "\(first) \(last)" } ```

त्वरित जाँच

प्रॉपर्टी के `set` ब्लॉक के अंदर आने वाले मान का डिफ़ॉल्ट नाम क्या है?

पुनरावलोकन

मुख्य बातें: • कंप्यूटेड प्रॉपर्टी हर एक्सेस पर कोड चलाती हैं — कोई स्टोर किया हुआ बैकिंग नहीं होता • केवल-पढ़ने योग्य के लिए `get`/`set` हटाएँ या संक्षिप्त `{ return ... }` का उपयोग करें • पढ़ने-लिखने योग्य के लिए `get` और `set(newValue)` ब्लॉक दें • `area`, `fullName` और यूनिट रूपांतरण जैसे निकाले गए मानों के लिए उपयोगी • महँगे, एक बार गणना किए जाने वाले मानों के लिए `lazy` का उपयोग करें अगला: म्यूटेटिंग मेथड।
शुरुआत निःशुल्क

एआई शिक्षक के साथ Swift सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
122
पाठ
409

अक्सर पूछे जाने वाले प्रश्न

क्या “स्ट्रक्चर में परिकलित गुण” पाठ निःशुल्क है?

हाँ — Swift Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “स्ट्रक्चर में परिकलित गुण” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“स्ट्रक्चर में परिकलित गुण” में मैं क्या सीखूँगा?

केवल-get और get/set परिकलित गुणों से मान प्राप्त करना सीखें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Swift Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Swift Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Swift Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“स्ट्रक्चर में परिकलित गुण” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Swift Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Swift Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. सदस्य-वार आरंभक और कस्टम आरंभक
  2. संग्रहीत गुण और गुण-पर्यवेक्षक
  3. स्ट्रक्चर में परिकलित गुण
  4. परिवर्तनकारी विधियाँ और कॉपी-ऑन-राइट अर्थविज्ञान
← Swift Academy पर वापस जाएँ