Caso Classe Rubi
A seguir irá criar uma classe de Ruby chamado Cliente, declara dois métodos:
- display_details:Este método é usado para exibir informações detalhadas sobre os clientes.
- total_no_of_customers:O método utilizado para criar o número total de clientes no visor do sistema.
#!/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
Métododisplay_detailsconsiste em três declaração puts, mostrando o ID do cliente, nome do cliente e endereço do cliente. Onde, coloca declaração:
puts "Customer id #@cust_id"
ID de cliente exibido texto e o valor variáveis @cust_id em uma única linha.
Quando você deseja exibir variáveis de texto e de instância valores em uma única linha, você precisa colocar o símbolo (#) na frente da declaração coloca o nome da variável. variáveis de texto e instância com o símbolo (#) deve usar as aspas duplas.
O segundo método, total_no_of_customers, contém uma variável de classe @@ no_of_customers. Expressão @@ clientes no_of_ + = 1 no momento de cada chamada total_no_of_customers método, além das no_of_customers variáveis 1. Desta forma, você vai ter variáveis de classe número total de clientes.
Agora criar dois clientes, como segue:
cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala")
Aqui, criamos duas classes de objetos Cliente, cust1 e Cust2, e passar os parâmetros necessários novos métodos. Quando o método de inicialização é chamado, os atributos necessários do objeto é inicializado.
Depois que um objeto é criado, você precisa usar dois objetos para chamar os métodos da classe. Se você deseja chamar qualquer método ou dados membro, você pode escrever o código da seguinte forma:
cust1.display_details() cust1.total_no_of_customers()
Após o nome do objecto é sempre seguido por um ponto, seguido pelo nome do método ou membro de dados. Vimos como objeto cust1 para chamar dois métodos. Use objeto Cust2, você também pode chamar os dois métodos, como segue:
cust2.display_details() cust2.total_no_of_customers()
Salvar e executar o código
Agora, todo o código fonte em arquivo main.rb, como segue:
#!/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", "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()
Em seguida, execute o programa da seguinte forma:
$ Rubi main.rb
Isto produz os seguintes resultados:
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