一个复杂的词汇,没有从一个简单的谷歌搜索没有很好的解释...是否有更多的学术导向的人谁可以解释这一个?什么是关系参数?
Q
什么是关系参数?
7
A
回答
2
关系参数似乎是一个抽象类型的函数(如Java中的泛型)可以拥有的属性。如果它具有这个属性,这意味着它从不检查它的类型参数或解构它/以某种特殊方式使用它。例如,函数“ID或增量”这里是不是关系性参数:
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
两个答案都基本上是正确的。我会说参数性是多态性的一个可能性质。如果多态项在所有实例下表现相同,则多态性是参数化的。 “表现相同”是一个模糊,直观的术语。 John Reynolds引入了关系参数作为其数学形式化。它指出多态条款保留所有关系,这直接强制它行为相同:
考虑f:列表 - >列表。 如果我们有关系a〜1,b〜2,c〜3,...,那么我们可以将它提升到列表并且例如hav。现在,如果f([a,d,b,c])= [c,b,d,a]和[d,b], f保持关系,那么f([1,4,2,3])= [3,2,4,1]。 换句话说,如果f颠倒了字符串列表,它也颠倒了数字列表。
因此,关系参数多态函数不能“检查类型参数”,因为它们不能根据类型来改变它们的行为。
相关问题
- 1. 什么是ActiveRecord Rails关系?
- 2. 什么是类关系?
- 3. 复发关系 - 它是什么总数?
- 4. shmop_open什么是关键参数?
- 5. 什么是@参数?
- 6. 函数参数是什么?
- 7. 参数中的3个点是什么?/什么是可变参数(...)参数?
- 8. 什么是android.media.tv的依赖关系
- 9. UML:这种关系是什么意思?
- 10. 什么对子级是MySQL的关系
- 11. 什么是GcmTaskService(GCM)的依赖关系?
- 12. 它是什么类型的关系?
- 13. 什么是对象/关系不匹配
- 14. 什么是反向通用关系?
- 15. 什么是CoreData中的反比关系
- 16. has_many关系的实际类是什么?
- 17. UML符号:这是什么关系?
- 18. Apache Ignite:IgniteHadoopIgfsSecondaryFileSystem的依赖关系是什么?
- 19. 那会是什么样的关系?
- 20. 这是什么样的关系?
- 21. 什么是CloseWindow和WM_CLOSE的关系
- 22. 什么是“可选”Maven依赖关系?
- 23. 什么是客观化关系?
- 24. 什么是属性关系图?
- 25. DBD :: Mysql与ODBC的关系是什么?
- 26. 什么是relvar - 关系变量?
- 27. 什么是MKMaprect和CGRect的关系
- 28. 什么是隐藏的依赖关系?
- 29. 什么是Silverlight与WPF的关系?
- 30. 什么是jboss-client.jar maven依赖关系?