Classes & Objects
Класс в Ruby - это шаблон для создания объектов. Он определяет свойства и методы, которые будут доступны для объектов, созданных на его основе. Классы позволяют организовать код, делая его более структурированным и удобным для понимания.
Для создания класса используется ключевое слово class, за которым следует имя класса.
class Animal
def speak
"I'm animal"
end
end
После определения класса можно создавать объекты этого класса. Для этого используется метод new.
dog = Animal.new
puts dog.speak # => I'm animal
Классы могут иметь атрибуты, которые представляют собой переменные, хранящие состояние объекта. В Ruby можно использовать методы для чтения и записи этих атрибутов. Для инициализации атрибутов используется метод initialize, который автоматически вызывается при создании нового объекта. Этот метод так же называется конструктором.
class Animal
def initialize(name)
@name = name
end
def speak
"I'm #{@name}"
end
end
dog = Animal.new("Dog")
puts dog.speak # => I'm Dog
Классы так же могут иметь собственные методы, называемые методами класса - это методы, которые можно вызывать на самом классе, а не на его экземплярах. Для определения метода класса используется префикс self..
class Animal
def self.species
"Abraba"
end
end
puts Animal.species # => Abraba