English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ниже будет создан класс Customer в Ruby, который включает два метода:
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 "ID клиента @cust_id" puts "Имя клиента @cust_name" puts "Адрес клиента @cust_addr" end def total_no_of_customers() @@no_of_customers += 1 puts "Общее количество клиентов: #@@no_of_customers" end end
display_details Метод включает три предложения puts, которые показывают ID клиента, имя клиента и адрес клиента. В частности, предложения puts:
puts "ID клиента @cust_id"
Будет показан текст 'Customer id' и значение переменной @cust_id на одной строке.
Когда вы хотите показать текст и значение примерного переменной на одной строке, вам нужно поставить символ (#) перед именем переменной в предложении puts. Текст и примерный переменной с символом (#) должны быть помечены двойными кавычками.
Второй метод, total_no_of_customers, содержит классовую переменную @@no_of_customers. Выражение @@no_of_ customers += 1. В каждом вызове метода total_no_of_customers переменная no_of_customers увеличивается на 1. Таким образом, вы получите общее количество клиентов в классовом переменном.
Теперь создадим двух клиентов, как показано ниже:
cust1 = Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2 = Customer.new("2", "Poul", "New Empire road, Khandala")
Здесь мы создали два объекта класса 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 "ID клиента @cust_id" puts "Имя клиента @cust_name" puts "Адрес клиента @cust_addr" end def total_no_of_customers() @@no_of_customers += 1 puts "Общее количество клиентов: #@@no_of_customers" end end # Создание объекта cust1 = Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2 = Customer.new("2", "Poul", "New Empire road, Khandala") # Вызов метода cust1.display_details() cust1.total_no_of_customers() cust2.display_details() cust2.total_no_of_customers()
Далее, запустите программу, как показано ниже:
$ ruby main.rb
Это会产生以下结果:
ID клиента 1 Имя клиента John Адрес клиента Wisdom Apartments, Ludhiya Общее количество клиентов: 1 ID клиента 2 Имя клиента Poul Адрес клиента New Empire road, Khandala Общее количество клиентов: 2