Este documento presenta conceptos de orientación a objetos en Ruby como herencia, sobrescritura de métodos, acceso a métodos de la clase padre, definición de propiedades y ámbitos públicos y privados. También cubre la organización del código en múltiples archivos y cómo requerir archivos desde otros archivos.
4. Herencia
Una clase puede heredar de otra
Se usa para definir la relación “es un”
Adulto es un Humano
En Ruby se usa el operador <
5. Sobreescribiendo
Un método de la clase
padre puede ser
reescrito por la clase
hija
En general todos los
otros métodos se pasan
directamente a la clase
hija
6. Accesando al padre
Una vez que hemos
sobrescrito un método,
se puede accesar a este
mediante el uso del
super
7. Definiendo Propiedades
No se puede accesar a una variable en una clase de
ruby
Hay que generar un método de escritura y otro de
lectura para cada variable
10. Ambito: privado
Por defecto, todos los métodos son públicos
Al escribir private dentro de una clase hace que todos
los metodos que vengan luego de esta sentencia sean
privados
11. Ambito: privado
Y si queremos volver a hacerlo públicos escribimos
public
12. Reto: Hagamos taxonomia
Definiremos una clase mamifero
Definiremos 2 clases que hereden de mamifero
Usemos propiedades y metodos con ambitos
públicos o privados
14. Trabajando en el mundo real
En el mundo real, no puedes poner todo tu código en
el mismo archivo
No se ve bien y tiende a confundir a los
desarrolladores
Lo que podemos hacer es separar el código en
diferentes archivos
15. Llamando archivos
Para llamar un archivo que se encuentra en el mismo
directorio usamos require_relative
Y para buscar a un nivel superior solo usamos
require (buscar gemas)
17. Reto: Chatham Challenge 4
A financial portfolio consists of an allocation of
stocks, bonds, and cash. Allocate the portfolio and
based off of financial data, recalculate the portfolio
each year. For example, your portfolio may start with
$1,000,000, and you may distribute your allocations
with 65% stock, 20% bonds, and the remainder in
cash. At the end of a set number of years where rates
go up and down, publish the portfolio balance.
During this exercise, you will probably have to define
methods, classes, and maybe even hashes.
18. Todos los archivos en:
https://github.com/scyrizales/Ruby101/tree/master
/CuartaClase