Ruby Classes

Ruby - как идеальный язык объектно-ориентированного программирования включает в себя и его возможности:

  • Инкапсуляция данных:

  • Абстракция данных:

  • Полиморфизм:

  • Наследование:

Эти возможности рассматриваются в объектно-ориентированном Ruby.

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

Возьмем для примера любое транспортное средство. Он включает колеса, мощность и емкость топливного или бензобака. Эти характеристики образуют элементы данных класса Vehicle. Вы можете отличить одно транспортное средство от другого с помощью этих характеристик.

Транспортное средство также может иметь определенные функции, такие как остановка, вождение и превышение скорости. Даже эти функции образуют элементы данных класса Vehicle. Таким образом, вы можете определить класс как комбинацию характеристик и функций.

Класс Vehicle (Транспортное средство ) можно определить как:

Класс Транспортное средство

{

Число no_of_wheels

Число лошадиных сил

Символы type_of_tank

Число Capacity

Функция превышение скорости

{

}

Функция вождения

{

}

Остановка функции

{

}

}

Присваивая разные значения этим элементам данных, вы можете сформировать несколько экземпляров класса Vehicle. Например, самолет имеет три колеса, мощность в 1000 лошадиных сил, топливо как тип бака и емкость 100 литров. Таким же образом автомобиль имеет четыре колеса, мощность 200 лошадиных сил, бензобак как тип бака и емкость 25 литров.

Определение класса в Ruby:

Чтобы реализовать объектно-ориентированное программирование с помощью Ruby, а проще говоря создавать программы в Ruby (писать осмысленный код), вам нужно сначала научиться создавать объекты и классы.

Класс в Ruby всегда начинается с ключевого слова class, за которым следует имя класса. Имя всегда должно быть написано заглавными буквами. Класс Customer может отображаться как:

class Customer

end

Вы завершаете класс, используя ключевое слово end. Все элементы данных в классе находятся между определением класса и ключевым словом end.

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

Переменные в классе Ruby:

Ruby предоставляет четыре типа переменных:

  1. Локальные переменные: локальные переменные - это переменные, которые определены в методе. Локальные переменные недоступны вне метода. Вы увидите более подробную информацию о методе в следующей главе. Локальные переменные начинаются со строчной буквы или _.

  2. Переменные экземпляра: переменные экземпляра доступны во всех методах для любого конкретного экземпляра или объекта. Это означает, что переменные экземпляра меняются от объекта к объекту. Переменным экземпляра предшествует знак (@), за которым следует имя переменной.

  3. Переменные класса: переменные класса доступны для разных объектов. Переменная класса принадлежит классу и является характеристикой класса. Им предшествует знак @@, а за ними следует имя переменной.

  4. Глобальные переменные: переменные класса недоступны для разных классов. Если вы хотите иметь одну переменную, доступную для всех классов, вам необходимо определить глобальную переменную. Глобальным переменным всегда предшествует знак доллара ($).

Пример:

Используя переменную класса @@ no_of_customers, вы можете определить количество создаваемых объектов. Это позволяет определить количество клиентов.

class Customer

@@no_of_customers = 0

end

Создание объектов в Ruby с использованием метода new:

Объекты - это экземпляры класса. Как создавать объекты класса в Ruby?, вы можете создавать объекты в Ruby, используя метод класса new, метод по сути своей это не большая под программа, методы нужны для описания повторяющихся действий, то есть рутинных действий, которые будут спрятаны за короткое имя, в программах это функции или методы и в итоге все, что нам нужно знать про метод чтобы его вызвать, это его имя. https://rubyrush.ru/steps/methods.html

Метод new это уникальный тип метода, который предопределен в библиотеке Ruby, new метод принадлежит к классу методов, в примере ниже вызов метода new использован для создания объектов cust1 и cust2.

Вот пример создания двух объектов cust1 и cust2 класса Customer:

cust1 = Customer. new

cust2 = Customer. new

Здесь cust1 и cust2 - это имена двух объектов. Вы пишете имя объекта, за которым следует знак равенства (=), после которого следует имя класса (в нашем примере Customer). Затем следует оператор точка и ключевое слово new.

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

Пользовательский метод для создания объектов Ruby:

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

Метод initialize - это особый тип метода, который будет выполняться при вызове нового метода класса с параметрами.

Вот пример создания метода инициализации:

class Customer

@@no_of_customers=0

def initialize(id, name, addr)

@cust_id=id

@cust_name=name

@cust_addr=addr

end

end

В этом примере вы объявляете метод initialize с id, name и addr в качестве локальных переменных. Здесь def и end используются для определения initialize метода Ruby. Вы узнаете больше о методах в следующих главах.

В методе initialize вы передаете значения этих локальных переменных в переменные экземпляра @cust_id, @cust_name и @cust_addr. Здесь локальные переменные содержат значения, которые передаются вместе с новым методом.

Теперь вы можете создавать объекты следующим образом:

cust1 = Customer.new ("1", "John", "Wisdom Apartments, Ludhiya") cust2 = Customer.new ("2", "Poul", "New Empire road, Khandala")

Member Function in Ruby Class:

В Ruby функции называются методами. Каждый метод в классе начинается с ключевого слова def (define), за которым следует имя метода.

Имя метода всегда предпочтительно в нижнем регистре. Вы завершаете метод в Ruby, используя ключевое слово end.

Вот пример определения метода Ruby:

class Sample

def function #define function

statement 1

statement 2

end

end

Здесь оператор 1 и оператор 2 являются частью тела функции метода внутри класса Sample. Эти состояния могут быть любым допустимым оператором Ruby. Например, мы можем поместить метод put для печати Hello Ruby следующим образом:

class Sample

def hello

puts "Hello Ruby!"

end

end

Теперь в следующем примере создайте один объект класса Sample, вызовите метод hello и посмотрите результат:

#! /usr/bin/ruby ​​

class Sample

def hello

puts "Hello Ruby!"

end

end

# Теперь используем вышеуказанный класс для создания объектов

object = Sample. new

object.hello

Это даст следующий результат:

Hello Ruby!

Простой пример использования:

Вот пример из практики, если вы хотите больше попрактиковаться с классом и объектами: