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

Ruby 类和对象

Ruby ist eine perfekte objektorientierte Programmiersprache. Zu den Eigenschaften objektorientierter Programmiersprachen gehören:

  • Datenkapselung
  • Datenabstraktion
  • Polymorphie
  • Vererbung

Diese Eigenschaften werden Objektorientiertes Ruby wird diskutiert.

Ein objektorientiertes Programm, das Klassen und Objekte umfasst. Eine Klasse ist ein Blaupause zur Erstellung individueller Objekte. In der objektorientierten Terminologie ist Ihr Fahrrad ein Beispiel für die Klasse Fahrrad.

Nehmen wir das Fahrzeug als Beispiel, es enthält Räder (Räder), Leistung (Leistung), Kraftstoff- oder Gasbehälterkapazität (Kraftstoff- oder Gasbehälterkapazität). Diese Eigenschaften bilden die Datenmitglieder der Klasse Fahrzeug (Vehicle). Mit diesen Eigenschaften können Sie ein Fahrzeug von anderen Fahrzeugen unterscheiden.

Das Fahrzeug kann auch spezifische Funktionen enthalten, wie z.B. Anhalten (Halten), Fahren (Fahren), Überfahren (Beschleunigen). Diese Funktionen bilden die Datenmitglieder der Klasse Fahrzeug (Vehicle). Daher können Sie die Klasse als Kombination aus Eigenschaften und Funktionen definieren.

Die Definition der Klasse Vehicle lautet wie folgt:

Online-Beispiel

Klasse Vehicle
{
   Zahl Anzahl_der_räder
   Zahl Leistung
   Zeichen art_des_tanks
   Zahl Kapazität
   Funktion Beschleunigen
   {
   }
   Funktion Fahren
   {
   }
   Funktion Halten
   {
   }
}

Durch Zuweisung verschiedener Werte an diese Datenmitglieder können Sie verschiedene Beispiele der Klasse Vehicle erstellen. Zum Beispiel hat ein Flugzeug drei Räder, Leistung 1,000, die Kraftstoffbehälterkapazität beträgt 100 Liter. Auf die gleiche Weise hat ein Auto vier Räder, Leistung 200, die Gasflaschenkapazität beträgt 25 Steigend.

Klasse definieren in Ruby

Um objektorientierte Programmierung in Ruby zu implementieren, müssen Sie zunächst lernen, wie man in Ruby Objekte und Klassen erstellt.

in Ruby wird immer mit dem Schlüsselwort class beginnt, gefolgt vom Klassennamen. Der erste Buchstabe des Klassennamens sollte groß geschrieben sein. Die Customer wie folgt shown:

class Customer
end

Sie können das Schlüsselwort end Klasse beendet.Klasse sind alle Datenmitglieder zwischen der end zwischen Schlüsselwörtern.

Variablen in Ruby Klassen

Ruby bietet vier Arten von Variablen an:

  • Lokale Variablen:Lokale Variablen sind Variablen, die in Methoden definiert werden. Lokale Variablen sind außen vor der Methode nicht verfügbar. In den folgenden Kapiteln werden mehr Details über Methoden gezeigt. Lokale Variablen beginnen mit einem Kleinbuchstaben oder _.
  • Beispielvariablen:Beispielvariablen können zwischen jedem bestimmten Beispiel oder Objektmethoden verwendet werden. Dies bedeutet, dass Beispielvariablen von einem Objekt zum anderen geändert werden können. Beispielvariablen werden vor dem Variablennamen das Symbol (@) gesetzt.
  • Klassvariablen:Klassvariablen können zwischen verschiedenen Objekten verwendet werden. Klassvariablen gehören zur Klasse und sind eine Eigenschaft der Klasse. Klassvariablen werden vor dem Variablennamen das Symbol (@@) gesetzt.
  • Globale Variablen:Klassvariablen können nicht zwischen Klassen verwendet werden. Wenn Sie eine Variable haben möchten, die zwischen Klassen verwendet werden kann, müssen Sie eine globale Variable definieren. Globale Variablen beginnen immer mit dem Dollarzeichen ($).

Online-Beispiel

Mit der Klassevariable @@no_of_customers können Sie die Anzahl der erstellten Objekte bestimmen, was die Anzahl der Kunden festlegt.}

Online-Beispiel

class Customer
   @@no_of_customers=0
end

In Ruby wird new Methode ein Objekt zu erstellen

Ein Objekt ist ein Beispiel der Klasse. Nun werden Sie lernen, wie man in Ruby Klassenobjekte erstellt. In Ruby können Sie die Methoden der Klasse verwenden, um new Objekte zu erstellen.

Methode new ist eine spezifische Methode, die in der Ruby-Bibliothek vorgedefiniert ist. Die new-Methode gehört zurKlasseMethode.

Das folgende Beispiel erstellt zwei Objekte der Klasse Customer, cust1 und cust2:

cust1 cust=Customer.new
cust2 cust=Customer.new

hier1 und cust2 sind zwei Objektname. Nach dem Objektname folgt ein Gleichheitszeichen (=), gefolgt von dem Klassennamen, dann der Punktoperator und das Schlüsselwort new.

eine benutzerdefinierte Methode hinzufügen, um Ruby-Objekte zu erstellen

können Sie der Methode new Parameter übergeben, die zur Initialisierung von Klassenvariablen verwendet werden können.

wenn Sie eine mit Parametern erklären möchten new Wenn Sie eine Methode gleichzeitig mit der Klasse erklären möchten initialize.

initialize Methode ist ein spezieller Typ der Methode, die bei der Aufrufung der mit Parametern angegebenen Klasse aufgerufen wird. new durchgeführt wird.

Das folgende Beispiel erstellt die Methode initialize:

Online-Beispiel

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

In diesem Beispiel können Sie mit id, name, addr als lokale Variable initializeMethode. Hierbeidefend Verwendet, um Ruby-Methode zu definieren initializeIn den folgenden Kapiteln werden Sie mehr über Methoden lernen.

In initialize In der Methode, geben Sie die Werte der lokalen Variablen an die Beispielvariablen @cust_id, @cust_name und @cust_addr weiter. Hier werden die Werte der lokalen Variablen durch den new-Methodenaufruf übergeben.

Nun können Sie Objekte wie folgt erstellen:

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

Mitgliedsmethoden in Ruby-Klassen

In Ruby werden Funktionen Methoden genannt.KlasseJede Methode im def und folgt dem Methodennamen.

Der Methodenname beginnt immer mitkleine BuchstabenAnfang. In Ruby können Sie den Schlüsselwort end um einen Methodenabschluss zu erreichen.

Das folgende Beispiel definiert eine Ruby-Methode:

class Sample
   def function
      statement 1
      statement 2
   end
end

在这里,statement 1statement 2 是类 Sample 内的方法 function 的主体组成部分。这些语句可以是任何有效的 Ruby 语句。例如,我们可以使用方法 puts 来输出 Hello Ruby,如下所示:

class Sample
   def hello
      puts "Hello Ruby!"
   end
end

以下示例将创建 Sample 类的一个对象,并调用 hello 方法:

#!/usr/bin/ruby
class Sample
   def hello
      puts "Hello Ruby!"
   end
end
# 使用上面的类来创建对象
object = Sample.new
object.hello

这将产生以下结果:

Hello Ruby!

简单的案例研究

如果您想要做更多有关类和对象的练习,这里有一个案例研究:

Ruby 类案例