Zjednodušený zápis definice třídy vypadá takto
classjméno_třídydefnázev metodypříkazy# tělo metody end ... definice dalších metod end
Jak je i na tomto zjednodušeném příkladu vidět, definujeme jen metody, nikoliv atributy objektu.
K dispozici máme několik konstruktorů přistupových metod pro atributy objektu. Ve zkratce jsou to
attr_reader - vytváří metodu pro čtení atributu
attr_writer - vytváří zápisovou metodu pro atribut
attr_accessor - vytváří jak metodu pro zápis tak pro čtení atributu
attr atribut [, true/false] - vatváří přístupovou metodu pro čtení a je-li druhý parametr true, tak i zápisovou metodu pro atribut. Je ekvivalentní kódu
attr_readerattribute; attr_writerattributeifwritable
Zjednodušené zavedení atributů instance a jejich přístupových metod.
class Song
attr_reader :name
attr_writer :duration
attr :volume
attr_accessor :date, :symptom, :solution
attr_.....
endPoužití konstruktoru attr_accessor
class Obj
attr_accessor :foo
end
je ekvivalentní definici metod foo a foo=
class Obj
def foo
return @foo
end
def foo=(newValue)
@foo = newValue
end
end