Ruby — идеальный объектно-ориентированный язык программирования. К особенностям объектно-ориентированного языка программирования относятся:
Эти функции обсуждаются в главе Object Oriented Ruby .
Объектно-ориентированная программа включает в себя классы и объекты. Класс — это проект, из которого создаются отдельные объекты. В объектно-ориентированных терминах мы говорим, что ваш bicycle является примером class of objects, известных как велосипеды.
Возьмите пример любого автомобиля. Он включает в себя колеса, мощность и мощность топливного бака или бензобака. Эти характеристики формируют данные членов класса Vehicle. С помощью этих характеристик вы можете отличить одно транспортное средство от другого.
У транспортного средства также могут быть определенные функции, такие как остановка, вождение и ускорение. Даже эти функции образуют данные членов класса 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 всегда начинается с ключевого слова class, за которым следует имя класса. Имя всегда должно быть в первоначальных капиталах. Класс Customer может отображаться как:
class Customer end
Вы завершаете класс, используя ключевое слово end . Все члены данных в class находятся между определением класса и ключевым словом end.
Ruby предоставляет четыре типа переменных:
Используя переменную класса @@ no_of_customers, вы можете определить количество создаваемых объектов. Это позволяет получить количество клиентов.
class Customer @@no_of_customers = 0 end
Объекты — это экземпляры класса. Теперь вы узнаете, как создавать объекты класса в Ruby. Вы можете создавать объекты в Ruby с помощью метода new класса.
Метод new является уникальным типом метода, который предопределен в библиотеке Ruby. Новый метод относится к методам class.
Вот пример создания двух объектов cust1 и cust2 класса Customer:
cust1 = Customer. new cust2 = Customer. new
Здесь cust1 и cust2 являются именами двух объектов. Вы пишете имя объекта, за которым следует знак равенства (=), после которого будет следовать имя класса. Затем будет следовать оператор точки и ключевое слово new.
Вы можете передавать параметры в метод new, и эти параметры могут использоваться для инициализации переменных класса.
Когда вы планируете объявлять метод new с параметрами, вам нужно объявить метод initialize во время создания класса.
Метод initialize — это особый тип метода, который будет выполняться при вызове метода new класса с параметрами.
Вот пример создания метода инициализации:
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", "Andrey", "Апартаменты Андрея, Краснодар") cust2 = Customer.new("2", "Max", "Новая дорога Империя, Ростов")
В Ruby функции называются методами. Каждый метод в классе начинается с ключевого слова def, за которым следует имя метода.
Имя метода всегда предпочитается строчными буквами. Вы заканчиваете метод в Ruby, используя ключевое слово end.
Вот пример, чтобы определить метод Ruby:
class Sample def function statement 1 statement 2 end end
Здесь statement 1 и statement 2 являются частью тела метода function внутри класса Sample. Этими статутами может быть любой действительный оператор Ruby. Например, мы можем поместить метод puts для печати Привет Ruby следующим образом:
class Sample def hello puts "Привет Ruby!" end end
Теперь в следующем примере создайте один объект класса Sample и вызовите метод hello и увидите результат:
#!/usr/bin/ruby class Sample def hello puts "Привет Ruby!" end end # Теперь с помощью выше класса для создания объектов object = Sample. new object.hello
Это приведет к следующему результату:
Привет Ruby!
Вот пример, если вы хотите больше практиковать с классом и объектами.
Пример использования Ruby Class