Ruby Klassenbeispiele

Im Folgenden erstellen wir eine Ruby-Klasse namens Customer und deklarieren zwei Methoden:

  • display_details: Diese Methode wird verwendet, um die detaillierten Informationen des Kunden anzuzeigen.
  • total_no_of_customers: Diese Methode wird verwendet, um die Gesamtzahl der im System erstellten Kunden anzuzeigen.

Beispiele

#!/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 "Kunden-ID #@cust_id" puts "Kundenname #@cust_name" puts "Kundenadresse #@cust_addr" end def total_no_of_customers() @@no_of_customers += 1 puts "Gesamtzahl der Kunden: #@@no_of_customers" end end

display_detailsDie Methode enthält drei puts-Anweisungen, die die Kunden-ID, den Kundennamen und die Kundenadresse anzeigen. Darunter die puts-Anweisungen:

puts "Kunden-ID #@cust_id"

zeigt den Text Kunden-ID und den Wert der Variable @cust_id in einer einzigen Zeile an.

Wenn Sie den Text und den Wert einer Instanzvariable in einer einzigen Zeile anzeigen möchten, müssen Sie das Symbol (#) vor den Variablennamen in der puts-Anweisung setzen. Der Text und die Instanzvariable mit dem Symbol (#) sollten in doppelte Anführungszeichen gesetzt werden.

Die zweite Methode, total_no_of_customers, enthält die Klassenvariable @@no_of_customers. Der Ausdruck @@no_of_customers+=1 erhöht die Variable no_of_customers bei jedem Aufruf der Methode total_no_of_customers um 1. Auf diese Weise erhalten Sie die Gesamtzahl der Kunden in der Klassenvariable.

Erstellen Sie nun zwei Kunden, wie unten gezeigt:

cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala")

Hier erstellen wir zwei Objekte der Klasse Customer, cust1 und cust2, und übergeben die notwendigen Parameter an die Methode new. Wenn die Methode initialize aufgerufen wird, werden die notwendigen Attribute des Objekts initialisiert.

Sobald das Objekt erstellt wurde, müssen Sie die beiden Objekte verwenden, um die Klassenmethoden aufzurufen. Wenn Sie eine Methode oder ein beliebiges Datenelement aufrufen möchten, können Sie Code wie unten gezeigt schreiben:

cust1.display_details() cust1.total_no_of_customers()

Auf den Objektnamen folgt immer ein Punkt, und dann der Methodenname oder das Datenelement. Wir haben gesehen, wie man die beiden Methoden mit dem Objekt cust1 aufruft. Mit dem Objekt cust2 können Sie auch die beiden Methoden aufrufen, wie unten gezeigt:

cust2.display_details() cust2.total_no_of_customers()

Code speichern und ausführen

Fügen Sie nun den gesamten Quellcode in die Datei main.rb ein, wie unten gezeigt:

Beispiele

#!/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 "Kunden-ID #@cust_id" puts "Kundenname #@cust_name" puts "Kundenadresse #@cust_addr" end def total_no_of_customers() @@no_of_customers += 1 puts "Gesamtzahl der Kunden: #@@no_of_customers" end end #Objekte erstellen cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala") #Methoden aufrufen cust1.display_details() cust1.total_no_of_customers() cust2.display_details() cust2.total_no_of_customers()

Ausprobieren »

Führen Sie dann das Programm aus, wie unten gezeigt:

$ ruby main.rb

Dies erzeugt das folgende Ergebnis:

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
Andere Erweiterungen