2008-11-11 11 views

उत्तर

2

रिलेशनल पैरामीट्रिकिटी ऐसी प्रॉपर्टी प्रतीत होती है जो प्रकारों (जावा में जेनेरिक) के रूप में समेकित एक समारोह हो सकती है। यदि इसकी संपत्ति है, तो इसका मतलब है कि यह कभी भी इसके प्रकार के तर्क का उल्लंघन नहीं करता है या इसे किसी विशेष तरीके से उपयोग नहीं करता है। उदाहरण के लिए, समारोह "आईडी या इंक" यहाँ संबंधित रूप से पैरामीट्रिक नहीं है:

public class Hey<T> 
{ 
    public T idOrInc(T var) 
    { 
     if (var instanceof Integer) 
      return (T)(new Integer(((Integer)var).intValue()+1)); 
     return var; 
    } 
    public static void main(String[] args) { 
     Hey<Integer> h = new Hey<Integer>(); 
     System.out.println(h.idOrInc(new Integer(10))); 
     Hey<Double> h2 = new Hey<Double>(); 
     System.out.println(h2.idOrInc(new Double(10))); 
    } 
} 

उत्पादन होता है:

$ java Hey 
11 
10.0 
1

ठीक है, सिर्फ इस

http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4276578

मैं कहना चाहता हूँ यह पैरामीट्रिक बहुरूपता (जेनरिक) के एक गणितीय के आधार पर यहां एक संपूर्ण अनुमान खतरे के लिए जा रहा,।

7

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

एफ पर विचार करें: एक सूची -> एक सूची। यदि हमारे पास संबंध ~ 1, बी ~ 2, सी ~ 3 है ..., तो हम इसे सूचियों और एचएवी के लिए उठा सकते हैं। [ए, डी, बी, सी] ~ [1, 4, 2, 3]

अब, अगर एफ ([ए, डी, बी, सी]) = [सी, बी, डी, ए] और एफ संबंधों को संरक्षित करता है, फिर एफ ([1, 4, 2, 3]) = [3, 2, 4, 1]। दूसरे शब्दों में, यदि f तारों की सूची को उलट देता है, तो यह संख्याओं की सूचियों को भी उलट देता है।

तो संबंधपरक रूप से पैरामीट्रिक पॉलिमॉर्फिक फ़ंक्शन "प्रकार तर्क का निरीक्षण नहीं कर सकते", जिसमें वे प्रकार के आधार पर उनके व्यवहार को परिवर्तित नहीं कर सकते हैं।

संबंधित मुद्दे