Classifying the operations of an abstract type
以类型T为例,t表示其他类型
Creators构造器
t* -> T
可以接受一个不是该类型的对象(t)作为参数,构造一个该类型的对象(T)
用static方法实现的creator被称为a factory method工厂方法, 如String.valueOf(Object Obj)
注:只有构造器不能接收自己类型的对象 为参数
Producers生产器
T+, t* -> T
接收T类型对象,也可接收其他对象,生产一个T类型的对象
String.a= "a";
String b = a.concat("f");
// b = "af", a = "a"
Observers观察器
T+, t* -> t
接收T类型的对象,也可接收其他类型对象,产生一个其他类型的对象
e.g.
List.size()
// List -> int
String.regionMatches()
// String × boolean × int × String × int × int → boolean
// 检测两个字符串在一个区域内是否相等