Play! framework generates getters and setters मॉडल कक्षा के प्रत्येक सार्वजनिक क्षेत्र के लिए रनटाइम पर।प्ले में उत्पन्न गेटर्स और सेटर्स से लाभ! फ्रेमवर्क
public class Product {
public String name;
public Integer price;
}
public class Product {
public String name;
public Integer price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getPrice() {
return price;
}
public void setPrice(Integer price) {
this.price = price;
}
}
को परिवर्तित हो जाएगा मैनुअल आगे बताते हैं:
फिर जब आप एक संपत्ति का उपयोग करना चाहते हैं तो आप सिर्फ लिख सकते हैं:
product.name = "My product";
product.price = 58;
कौन सा अनुवाद किया है लोड समय पर:
product.setName("My product");
product.setPrice(58);
... और चेतावनी देते हैं:
आप सीधे गुण तक पहुँचने के लिए मनुष्य और सेटर तरीके का उपयोग नहीं कर सकते हैं यदि आप स्वत: पीढ़ी पर निर्भर हैं। ये विधियां रनटाइम पर उत्पन्न होती हैं। इसलिए यदि आप उन्हें लिखने वाले कोड में संदर्भित करते हैं, तो संकलक विधियों को नहीं ढूंढ पाएगा और एक त्रुटि उत्पन्न करेगा।
चूंकि मैं Play के बाहर से इन गेटर्स और सेटर्स का उपयोग नहीं कर सकता! प्रोजेक्ट, मुझे उन्हें उत्पन्न करने में कोई फायदा नहीं होता है। सार्वजनिक क्षेत्रों की तुलना में लाभ क्या है, रिफैक्टरिंग (एक क्षेत्र को समाहित करें और कॉलर्स को बदलें) सभी आधुनिक आईडीई खाते में लिया गया है?
+1 अच्छा जवाब। मैंने अपने स्वयं के सेटर्स और गेटर्स को परिभाषित करने के बारे में इस बिंदु पर विस्तार किया है क्योंकि मुझे लगता है कि यह वास्तव में एक महत्वपूर्ण बिंदु है। – Codemwnci