Il linguaggio di programmazione Ruby ha un paio di modi per combinare i metodi di due classi . Le lezioni sono raccolte di metodi relativi e membri dei dati . Due classi possono combinare i loro metodi che utilizzano il includere o estendere dichiarazioni. Entrambe queste affermazioni sono specializzati per uno scopo diverso e compiere cose diverse . Metodi di Classe
estensione aggiunge metodi moduli specificati i metodi di classe per la classe di destinazione . I metodi di classe sono a disposizione di tutte le istanze della classe di destinazione . Ciò significa che tutti gli oggetti creati in base alla classe di destinazione hanno accesso ai metodi di qualsiasi classe che si estende . Pertanto , estendere è un modo più universale per includere i metodi in una classe , in quanto essa riguarda tutte le istanze di quella classe .
Metodi di istanza
Includere aggiunge metodi moduli specificati come metodi di istanza per la classe di destinazione . I metodi di istanza sono disponibili solo per la specifica istanza della classe di destinazione . Qualsiasi altra classe dello stesso tipo non hanno accesso ai metodi della classe inclusa, se non ha anche il metodo Include richiamato su di esso .
Accesso variabili
classe A bersaglio ha accesso alle variabili di qualsiasi altra classe che è stata inclusa . Estendere non fornisce questo accesso .
Pubblico rispetto al privato
comprendere è un metodo privato , e di estendere è un metodo pubblico . Questo significa che includono devono essere invocati all'interno di un corpo di classe .