Die Programmiersprache Ruby hat ein paar Möglichkeiten, um die Methoden der beiden Klassen zu kombinieren. Die Klassen sind Sammlungen von verwandten Methoden und Daten Mitglieder. Zwei Klassen kombinieren können ihre Methoden mit dem ein-oder erweitern Aussagen . Beide Aussagen sind für einen anderen Zweck spezialisiert und erfüllen verschiedene Dinge. Methoden der Klasse
erweitern fügt angegeben Modulen Methoden als Methoden der Klasse auf das Ziel -Klasse. Klasse Methoden zur Verfügung , die alle Instanzen des Ziel- Klasse. Das bedeutet , dass alle Objekte , auf Basis der Zielklasse Zugriff auf die Methoden einer Klasse , die verlängert sind . Daher erweitern ist eine universelle Möglichkeit, Methoden in einer Klasse gehören , da es alle Instanzen dieser Klasse betrifft.
Instance Methods
Include fügt angegeben Modulen Methoden Beispiel Methoden der Zielklasse . Instanz -Methoden sind nur für den speziellen Fall der Ziel- Klasse. Jede andere Klasse des gleichen Typs hat keinen Zugriff auf die Methoden der Klasse enthalten , es sei denn, es hat auch die Include -Methode für sie aufgerufen .
Variablenzugriffssicherheit
Ein Ziel
Klasse hat Zugriff auf die Variablen einer anderen Klasse , die aufgenommen hat . Verlängern Sie verfügt nicht über diese Zugang .
Öffentliche gegenüber privaten
Include ist eine private Methode und verlängern ist eine öffentliche Methode . Dies bedeutet, dass umfassen muss innerhalb einer Klasse Körper aufgerufen werden.