Ruby对象上的单例方法
时间:2012-6-13
Ruby将这种仅在唯一的对象上存在的方法称为单例方法.实际上,大多数的Ruby对象不但具有一个常规的类,而且还有第二个或多或少隐秘的类.这第二个单体的类实际上是在你调用一个方法时,Ruby首先检索的地方,所以在这个单体的类中定义的方法将会重载在其标准类中定义的同名方法.前面的示例修改子bto的单体的类,这些操作都是在秘密中完成的,而且即使修改子对象的单体的类之后,那个对象仍然声明自己是其常规类的实例.
Ruby将这种仅在唯一的对象上存在的方法称为单例方法.实际上,大多数的Ruby对象不但具有一个常规的类,而且还有第二个或多或少隐秘的类.这第二个单体的类实际上是在你调用一个方法时,Ruby首先检索的地方,所以在这个单体的类中定义的方法将会重载在其标准类中定义的同名方法.前面的示例修改子bto的单体的类,这些操作都是在秘密中完成的,而且即使修改子对象的单体的类之后,那个对象仍然声明自己是其常规类的实例.