Как создавать классы и объекты в Ruby

Веб-разработка на Ruby Программирование и разработка

Ruby — мощный язык программирования, предлагающий современные функции и инструменты. Одной из таких функций является поддержка объектно-ориентированного программирования, включая полиморфизм инкапсуляции, абстракцию, наследование и многое другое.

В этом руководстве будет обсуждаться ключевая концепция объектно-ориентированного программирования: объект и классы.

Что такое классы Ruby и объекты O?

Начнем с класса.

Класс — это схема для создания объектов и предоставления реализаций значений, включая переменные, методы, атрибуты и многое другое.

С другой стороны, объект — это единственный экземпляр класса. Возьмем, к примеру, машину. Мы можем создать класс, который описывает чертежи сборки автомобиля. Атрибуты класса могут быть всем, что есть у автомобилей:

  1. Двигатель
  2. Дверь
  3. Модель
  4. Производитель

Класс автомобиля также может включать методы, которые представляют собой действия, которые могут выполнять объекты класса. Примером может служить то, что автомобиль может зажигаться, ускоряться, останавливаться и т.д.

Классы очень удобны, когда вам нужно создать похожие объекты только с различными аспектами. Вместо объявления блока кода для автомобиля Mercedes, Bugatti, Tesla и т. Д. Вы можете создать один класс, на который ссылается каждая модель.

Как создать класс и объект в Ruby

Ruby — невероятный язык, который также очень прост в использовании. Он предоставляет простой синтаксис для создания класса.

Общий синтаксис:

class ClassName

# BLOCK
end

Мы начинаем с вызова ключевого слова class, за которым следует имя класса, который мы хотим создать. Имя класса начинается с заглавной буквы и использует CamelCase для следующих имен.

Внутри класса мы определяем все переменные и методы, которые потребуются классу.

Мы закрываем код класса с помощью ключевого слова end.

Пример

Давайте посмотрим на примере класса автомобиля.

class Car
def initialize(engine, name, year)
@engine = engine
@name = name
@year = year
end
def ignite
puts «Ignition!»
end
def stop
puts «Stopping vehicle»
end
def accelerate(target_speed)
@target_speed = target_speed
puts «Car accelerating at #{target_speed} m/h»
end
end

f = Car.new(«a108d»«F A-Class»2010 )
g = Car.new(«00Ca»«Zero G-8»2011)
h = Car.new(«777d»«G Potato»2022)

В приведенном выше коде мы начинаем с определения класса автомобиля. Внутри класса мы определяем метод инициализации, особый тип метода в Ruby, используемый для создания вызываемого экземпляра класса с необходимыми аргументами. Метод инициализации действует как конструктор для new.

Внутри метода инициализации мы передаем двигатель, имя и год выпуска автомобиля. Затем мы выполняем несколько действий с автомобилем, включая зажигание, ускорение и остановку.

Наконец, мы создаем экземпляр класса автомобиля. Мы называем это экземпляром, потому что мы создаем экземпляр класса.

Мы передаем параметры методу инициализации, который создает три уникальных типа автомобилей.

Использование методов класса

В приведенном выше примере мы создаем класс с различными методами, но еще не использовали их. Чтобы использовать метод, мы просто вводим имя объекта, за которым следует точка и имя метода.

Синтаксис:

my_object.method

Возьмем предыдущий пример; Чтобы зажечь автомобиль f, мы можем:

// Refer code above
f = Car.new(«a108d»«F A-Class»2010 )
g = Car.new(«00Ca»«Zero G-8»2011)
h = Car.new(«777d»«G Potato»2022)
f.ignite

Если мы запустим приведенный выше код, мы увидим, что автомобиль успешно загорелся, напечатав строку «Ignition!»

Каждая часть метода инициализации работает как команда, определяющая действия, которые может выполнять объект, созданный из класса.

Получите исходный класс

Каждый тип в Ruby — это объект класса. Вы можете просмотреть, из какого класса создан объект, с помощью метода класса.

Например:

class Car
def initialize(engine, name, year)
@engine = engine
@name = name
@year = year
end
def ignite
puts «Ignition!»
end
def stop
puts «Stopping vehicle»
end
def accelerate(target_speed)
@target_speed = target_speed
puts «Car accelerating at #{target_speed} m/h»
end
end

f = Car.new(«a108d»«F A-Class»2010 )

puts «hello».class
puts 10.class
puts 11.023.class
puts f.class

После выполнения кода мы должны увидеть классы для строки, целого числа, числа с плавающей запятой и автомобиля как:

String
Integer
Float
Car

Заключение

В этом руководстве мы изучили основы объектно-ориентированного программирования в Ruby с использованием классов и объектов. Приятно отметить, что ООП — обширная тема. Ознакомьтесь с другими ресурсами, чтобы узнать больше.

Оцените статью
bestprogrammer.ru
Добавить комментарий