我覺得這是我理解Ruby和麪向對象編程的基礎,所以我在這裏提出了一個相當簡單的問題,冒着看起來愚蠢的風險。我一直在與irb玩弄。我創造了我的第一堂課:我是否正確理解Ruby中的對象?
$ 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
是我的對象,對吧?或者,我的對象是class Person
和我爲該類定義的屬性的組合?
從技術上講,他們都是對象。 'Person.new'是'Person'類的一個實例。 – numbers1311407
+1儘管面臨愚蠢的風險,但仍有膽量提問。 「唯一愚蠢的問題就是沒有被問到的問題」有句話要說...... –
一般來說,大多數人都會調用類對象,因爲對象通常被稱爲類的實例。我寧願讓人們在引用類時說「class」,並且反對實例化的實例。 – Candide