我是否正确理解Ruby中的对象?
发布时间:2020-12-17 03:01:27 所属栏目:百科 来源:网络整理
导读:我觉得这对于我对 Ruby和面向对象编程的总体理解是至关重要的,所以我在这里提出这个相当简单的问题,冒着看起来很愚蠢的风险.我一直在玩弄irb.我创造了我的第一堂课: $irbruby-1.9.2-p290 :001 class Personruby-1.9.2-p290 :002? attr_accessor :firstname,
我觉得这对于我对
Ruby和面向对象编程的总体理解是至关重要的,所以我在这里提出这个相当简单的问题,冒着看起来很愚蠢的风险.我一直在玩弄irb.我创造了我的第一堂课:
$irb ruby-1.9.2-p290 :001 > class Person ruby-1.9.2-p290 :002?> attr_accessor :firstname,:lastname,:gender ruby-1.9.2-p290 :003?> end => nil ruby-1.9.2-p290 :004 > person_instance = Person.new => #<Person:0x007f9b7a9a0f70> ruby-1.9.2-p290 :005 > person_instance.firstname = "Bob" => "Bob" ruby-1.9.2-p290 :006 > person_instance.lastname = "Dylan" => "Dylan" ruby-1.9.2-p290 :007 > person_instance.gender = "male" => "male" 所以Person.new是我的对象,对吗?或者我的对象是类Person和我为该类定义的属性的组合? 解决方法
您的对象是运行Person.new的结果,您已在person_instance中捕获该对象.
在ruby中,属性在第一次写入之前实际上并不存在,因此在person_instance.firstname =“Bob”之前,您的实例没有属性.执行此语句后,它具有@firstname属性,但没有其他属性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |