Ruby Примеры классов

Ниже мы создадим класс Ruby с именем Customer и объявим два метода:

  • display_details: Этот метод используется для отображения подробной информации о клиенте.
  • total_no_of_customers: Этот метод используется для отображения общего количества клиентов, созданных в системе.

Примеры

#!/usr/bin/ruby class Customer @@no_of_customers=0 def initialize(id, name, addr) @cust_id=id @cust_name=name @cust_addr=addr end def display_details() puts "Customer id #@cust_id" puts "Customer name #@cust_name" puts "Customer address #@cust_addr" end def total_no_of_customers() @@no_of_customers += 1 puts "Total number of customers: #@@no_of_customers" end end

display_detailsМетод содержит три оператора puts, которые выводят идентификатор клиента, имя клиента и адрес клиента. Среди них операторы puts:

puts "Customer id #@cust_id"

выведет текст Customer id и значение переменной @cust_id на одной строке.

Когда вы хотите вывести текст и значение переменной экземпляра на одной строке, вам нужно поставить символ (#) перед именем переменной в операторе puts. Текст и переменная экземпляра с символом (#) должны быть заключены в двойные кавычки.

Второй метод, total_no_of_customers, содержит переменную класса @@no_of_customers. Выражение @@no_of_customers+=1 увеличивает переменную no_of_customers на 1 каждый раз, когда вызывается метод total_no_of_customers. Таким образом, вы получите общее количество клиентов в переменной класса.

Теперь создайте двух клиентов, как показано ниже:

cust1=Customer.new("1", "John", "Апартаменты Уиздом, Лудхия") cust2=Customer.new("2", "Поул", "Нью Эмпайр роуд, Кхандала")

Здесь мы создаём два объекта класса Customer, cust1 и cust2, и передаём необходимые параметры методу new. Когда вызывается метод initialize, необходимые атрибуты объекта инициализируются.

После создания объекта нужно использовать два объекта, чтобы вызвать методы класса. Если вы хотите вызвать метод или любой элемент данных, можно написать код, как показано ниже:

cust1.display_details() cust1.total_no_of_customers()

За именем объекта всегда следует точка, а затем имя метода или элемента данных. Мы видели, как вызвать два метода с помощью объекта cust1. Используя объект cust2, вы также можете вызвать два метода, как показано ниже:

cust2.display_details() cust2.total_no_of_customers()

Сохраните и выполните код

Теперь поместите весь исходный код в файл main.rb, как показано ниже:

Примеры

#!/usr/bin/ruby class Customer @@no_of_customers=0 def initialize(id, name, addr) @cust_id=id @cust_name=name @cust_addr=addr end def display_details() puts "Customer id #@cust_id" puts "Customer name #@cust_name" puts "Customer address #@cust_addr" end def total_no_of_customers() @@no_of_customers += 1 puts "Total number of customers: #@@no_of_customers" end end #Создание объектов cust1=Customer.new("1", "Джон", "Апартаменты Уиздом, Лудхия") cust2=Customer.new("2", "Поул", "Нью Эмпайр роуд, Кхандала") #Вызов методов cust1.display_details() cust1.total_no_of_customers() cust2.display_details() cust2.total_no_of_customers()

Попробуйте »

Затем запустите программу, как показано ниже:

$ ruby main.rb

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

Customer id 1
Customer name John
Customer address Wisdom Apartments, Ludhiya
Total number of customers: 1
Customer id 2
Customer name Poul
Customer address New Empire road, Khandala
Total number of customers: 2
Другие расширения