Třídy v Ruby jsou objekty první kategorie. Každá je instancí třídy Class
.
Když vytváříme novou třídu (typicky konstrukcí
class Name ... end
je vytvořen objekt třídy Class
a přiřazen do globální konstanty (v tomto případě Name
).
Příklad 4.5. Předefinování metody new
třídy Class
class Class alias oldNew new def new(*args) print "Creating a new ", self.name, "\n" oldNew(*args) end end class Name end n = Name.new # produces Creating a new Name
Chráněné a veřejné metody
class Aclass protected def faclass1 puts "faclass1" end public def faclass2 puts "faclass2" end end
Metody třídy
inherited
aSubClass
new
(aSuperClass
=Object
)
Metody instance
new
([args]) → anObject
Vytváří nový objekt třídy, poté zavolá metodu initialize
tohoto objektu a předá jí parametry args
.
superclass
→ aSuperClass or nil
Vrací rodičovskou třídu nebo nil.