English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Ruby базовый учебник

Ruby продвинутый учебник

Классы и объекты Ruby

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

  • encapsulation данных
  • абстракция данных
  • полиморфизм
  • наследование

Эти характеристики будут рассмотрены в Ruby面向对象 обсуждается здесь.

Программа,面向对象的,涉及到类 и объекты.Класс - это шаблон для создания индивидуальных объектов.В терминологии объектно-ориентированного программирования ваш велосипед является примером класса велосипедов.

Примером является автомобиль, который включает в себя колеса (wheels), лошадиные силы (horsepower) и объем топливного или газового бака (fuel or gas tank capacity).Эти характеристики составляют данные члены класса (Vehicle).С помощью этих свойств вы можете отличить один автомобиль от другого.

В车辆 также могут входить специфические функции, такие как остановка (halting), вождение (driving), превышение скорости (speeding). Эти функции образуют данные члены класса Vehicle. Таким образом, вы можете определить класс как комбинацию свойств и функций.

Определение класса Vehicle таково:

Пример онлайн

Класс Vehicle
{
   Число no_of_wheels
   Число horsepower
   Символы type_of_tank
   Число Capacity
   Функция speeding
   {
   }
   Функция driving
   {
   }
   Функция halting
   {
   }
}

Принимая различные значения для этих данных членов, вы можете создать различные примеры класса Vehicle. Например, самолет имеет три колеса, мощность 1,000 л.с., объем топливного бака 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 new метод для создания объектов

Объект является примером класса. Теперь вы узнаете, как создавать объекты класса в Ruby. В Ruby вы можете использовать методы класса new создания объектов.

метод new является уникальным методом, предопределенным в библиотеке Ruby. Метод new относится кклассметод.

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

cust1 = Customer. new
cust2 = Customer. new

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

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

Вы можете предоставить метод new передавать параметры, которые можно использовать для инициализации классовых переменных.

Если вы хотите声明 метод с параметрами new При создании метода необходимо одновременно声明 метод. initialize.

initialize метод является特种 типом метода, который вызывается при вызове класса с параметрами. new выполнение метода.

Ниже приведен пример создания метода initialize:

Пример онлайн

class Customer
   @@no_of_customers = 0
   def initialize(id, name, addr)
      @cust_id = id
      @cust_name = name
      @cust_addr = addr
   end
end

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

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

Теперь вы можете создать объекты, как показано ниже:

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

здесь,}}statement 1 и statement 2 является методом класса Sample function являются частью主体的.Эти строки могут быть любыми действительными语句ами 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