Resumen V

  1. El método load incluye el archivo fuente de Ruby especificado cada vez que es ejecutado.
  2. El método require, que es usado con más frecuencia, carga el archivo especificado sólo una vez.
  3. Observa que escribimos require 'nombre_del_archivo', y no require 'nombre_del_archivo.rb'.
  4. En Ruby, las clases nunca son cerradas: siempre es posible agregar métodos a una clase que ya existe. Lo anterior es cierto para las clases que tu mismo secribes y para las clases estándar incluídas en Ruby. Todo lo que tienes que hacer es abrir la definición de la clase existente, y el contenido que especifiques va a ser agregado a lo que ya exista en la definición de la clase.
  5. El beneficio de la herencia es que las clases más abajo en la jerarquía heredan de sus ancestros y pueden agregar características propias.
  6. En Ruby, las clases sólo puede heredar de una sola clase.
  7. La clase Object es la clase madre de todas las clases en Ruby. Por lo tanto, sus métodos están disponibles en todos los objetos a menos que sean redefinidos explícitamente.
  8. Method overriding permite a una subclase proporcionar una implementación específica de un método que ya existe en uno de sus ancestros. La implementación de la subclase reemplaza la implementación de la clase madre.
  9. Nada nos detiene de definir un método dos veces, sin embargo, la nueva versión tiene precedencia.
  10. Cuando llamas al método super sin argumentos, Ruby envía un mensaje a la clase madre del objecto actual, pidiendo que invoque un método del mismo nombre que el método desde el cual se invoca super. Los argumentos que fueron pasados al método delde el cual se invoca super son automáticamente reenviados.
  11. Si se llama con una lista de argumentos vacía, (super()), no reenvía argumentos al método que se encuentra más arriba en la jerarquía de clases.
  12. Si se llama con une lista de argumentos específica (super(a,b,c)), envía exactamente esos argumentos.