该类Class的类方法版本为new,实例方法版本为new。但是因为Class是的实例,Class不是使new实例方法版本的类方法版本new吗?
当我看到以下内容时
>> Class.new
=> #<Class:0x00007fca601fe898>
Run Code Online (Sandbox Code Playgroud)
我认为Class对象是的实例,Class所以new是该类的实例方法Class。然后new是该类的一个类方法Class。
Class::new使用给定的超类创建一个新的匿名(未命名)类。
Class.new调用allocate创建类的类的新对象,然后调用该对象的initialize方法,并将其传递给args。
如果单击上面docs链接上的切换源,则可以看到。
基本上Class.new,ruby中的所有其他类都继承默认的初始化程序。
Class::new创建一个新的匿名类。
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |