Cas*_*sey 7 language-agnostic oop class
既然没有人问过,我还没有找到合适的答案; 简单地说:什么是堕落类?
各种语言的例子会有所帮助......除了UML.:P
我也在寻找一个确定的答案,这是我迄今为止从谷歌那里了解到的:
在数学中,简并性表示一种限制性情况,其中一类对象改变其性质以便属于另一种通常更简单的类.
在编程中,遵循"折叠"到更简单的概念,简并似乎以多种方式使用:
最后,您已经看到只有main方法的类.他们唯一的目的是启动一个计划.从设计的角度来看,这些是类的简单示例.
有效的Java第2版:
第14项:在公共类中,使用访问器方法,而不是公共字段
有时,您可能会想要编写简并类,除了组实例字段之外没有任何其他目的:
// Degenerate classes like this should not be public!
class Point {
  public double x;
  public double y;
}
例如,List和List的类共享普通的旧Java类List.List被称为泛型类的原始类型.每个泛型都有一个原始类型.它是简并的"普通"Java形式,从中删除了所有泛型类型信息,并将类型变量替换为像Object这样的通用Java类型.
有效的Java第2版:
// The worst possible legal hash function - never use!
@Override public int hashCode() { return 42; }
这是合法的,因为它确保了相等的对象具有相同的哈希码.这很糟糕,因为它确保每个对象都具有相同的哈希码.因此,每个对象都会散列到同一个存储桶,并且散列表会退化为链接列表.
大Java:
但是,有时你会遇到处理退化输入的哲学问题:空字符串,没有区域的形状,等等.