Ruby — это идеальный объектно-ориентированный язык программирования. Особенности объектно-ориентированного языка программирования включают в себя —
- Инкапсуляция данных
- Абстракция данных
- Полиморфизм
- наследование
Эти функции обсуждались в главе « Объектно-ориентированный рубин» .
Объектно-ориентированная программа включает в себя классы и объекты. Класс — это проект, из которого создаются отдельные объекты. В объектно-ориентированных терминах мы говорим, что ваш велосипед является экземпляром класса объектов, известных как велосипеды.
Возьмите пример любого транспортного средства. Он включает в себя колеса, лошадиные силы и емкость топливного или бензобака. Эти характеристики формируют данные членов класса Vehicle. С помощью этих характеристик вы можете отличить одно транспортное средство от другого.
Транспортное средство также может иметь определенные функции, такие как остановка, вождение и превышение скорости. Даже эти функции образуют данные членов класса Vehicle. Следовательно, вы можете определить класс как комбинацию характеристик и функций.
Класс транспортного средства может быть определен как —
Class Vehicle { Number no_of_wheels Number horsepower Characters type_of_tank Number Capacity Function speeding { } Function driving { } Function halting { } }
Назначая разные значения этим элементам данных, вы можете сформировать несколько экземпляров класса Vehicle. Например, самолет имеет три колеса, 1000 лошадиных сил, топливо в качестве типа танка и вместимость 100 литров. Точно так же автомобиль имеет четыре колеса, мощность 200 лошадиных сил, бензин в качестве типа бака и емкость 25 литров.
Определение класса в Ruby
Чтобы реализовать объектно-ориентированное программирование с использованием Ruby, вам сначала нужно научиться создавать объекты и классы в Ruby.
Класс в Ruby всегда начинается с ключевого слова class, за которым следует имя класса. Имя всегда должно быть в заглавных буквах. Класс Customer может отображаться как —
class Customer end
Вы завершаете класс, используя ключевое слово end . Все члены данных в классе находятся между определением класса и ключевым словом end .
Переменные в классе Ruby
Ruby предоставляет четыре типа переменных —
-
Локальные переменные — локальные переменные — это переменные, которые определены в методе. Локальные переменные недоступны вне метода. Вы увидите более подробную информацию о методе в следующей главе. Локальные переменные начинаются со строчной буквы или _.
-
Переменные экземпляра — переменные экземпляра доступны в разных методах для любого конкретного экземпляра или объекта. Это означает, что переменные экземпляра меняются от объекта к объекту. Переменным экземпляра предшествует знак (@), за которым следует имя переменной.
-
Переменные класса — переменные класса доступны для разных объектов. Переменная класса принадлежит классу и является характеристикой класса. Им предшествует знак @@ и сопровождается именем переменной.
-
Глобальные переменные — переменные класса не доступны для разных классов. Если вы хотите иметь единственную переменную, которая доступна для всех классов, вам нужно определить глобальную переменную. Глобальным переменным всегда предшествует знак доллара ($).
Локальные переменные — локальные переменные — это переменные, которые определены в методе. Локальные переменные недоступны вне метода. Вы увидите более подробную информацию о методе в следующей главе. Локальные переменные начинаются со строчной буквы или _.
Переменные экземпляра — переменные экземпляра доступны в разных методах для любого конкретного экземпляра или объекта. Это означает, что переменные экземпляра меняются от объекта к объекту. Переменным экземпляра предшествует знак (@), за которым следует имя переменной.
Переменные класса — переменные класса доступны для разных объектов. Переменная класса принадлежит классу и является характеристикой класса. Им предшествует знак @@ и сопровождается именем переменной.
Глобальные переменные — переменные класса не доступны для разных классов. Если вы хотите иметь единственную переменную, которая доступна для всех классов, вам нужно определить глобальную переменную. Глобальным переменным всегда предшествует знак доллара ($).
пример
Используя переменную класса @@ no_of_customers, вы можете определить количество создаваемых объектов. Это позволяет при определении количества клиентов.
class Customer @@no_of_customers = 0 end
Создание объектов в Ruby с использованием нового метода
Объекты являются экземплярами класса. Теперь вы узнаете, как создавать объекты класса в Ruby. Вы можете создавать объекты в Ruby, используя метод new класса.
Метод new является уникальным типом метода, который предопределен в библиотеке Ruby. Новый метод принадлежит методам класса .
Вот пример для создания двух объектов cust1 и cust2 класса Customer —
cust1 = Customer. new cust2 = Customer. new
Здесь cust1 и cust2 являются именами двух объектов. Вы пишете имя объекта, за которым следует знак равенства (=), после которого следует имя класса. Затем следует оператор точки и ключевое слово new .
Пользовательский метод для создания объектов Ruby
Вы можете передать параметры в метод new, и эти параметры можно использовать для инициализации переменных класса.
Когда вы планируете объявить новый метод с параметрами, вам нужно объявить метод initialize во время создания класса.
Метод 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 используются для определения инициализации метода 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")
Функции-члены в классе Ruby
В Ruby функции называются методами. Каждый метод в классе начинается с ключевого слова def, за которым следует имя метода.
Имя метода всегда предпочитается строчными буквами . Вы заканчиваете метод в Ruby, используя ключевое слово end .
Вот пример для определения метода Ruby —
class Sample def 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 # Now using above class to create objects object = Sample. new object.hello
Это даст следующий результат —
Hello Ruby!
Простое тематическое исследование
Вот пример, если вы хотите больше практиковаться с классом и предметами.