Поиск по сайту:
Зачем же долгой жизни ты желаешь, Коль тайну мира так и не узнаешь? (Фирдуоси).

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

23.08.2021
Как написать первую программу на Ruby

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

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

 

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

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

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

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

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

 

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

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

 

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

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

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

class ClassName

# БЛОК
end

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

Читать  Что означает DO в Ruby?

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

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

 

Пример

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

class Car
def initialize(engine, name, year)
@engine = engine
@name = name
@year = year
end
def ignite
puts "Зажигание!"
end
def stop
puts "Остановка транспортного средства"
end
def accelerate(target_speed)
@target_speed = target_speed
puts "Автомобиль разгоняется до #{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, мы можем:

// Ссылка на код выше
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

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

Читать  Как настроить файловый сервер на основе HTTP в CentOS 8

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

 

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

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

Например:

class Car
def initialize(engine, name, year)
@engine = engine
@name = name
@year = year
end
def ignite
puts "Зажигание!"
end
def stop
puts "Остановка транспортного средства"
end
def accelerate(target_speed)
@target_speed = target_speed
puts "Автомобиль разгоняется до #{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 с использованием классов и объектов. Приятно отметить, что ООП – обширная тема. Ознакомьтесь с другими ресурсами, чтобы узнать больше.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно

Как написать первую программу на Ruby

Рекомендуемое
Никто из нас не может оспаривать, что Python - один…

Спасибо!

Теперь редакторы в курсе.