Ruby 101 session 4
-
Upload
sergio-castillo -
Category
Documents
-
view
269 -
download
1
Transcript of Ruby 101 session 4
ORIENTACION A OBJETOS I IMÚLTIPLES ARCHIVOS
Ruby 101
Sergio Castillo Yrizales@scyrizales
Agenda
Orientación a Objetos
Múltiples archivos
Orientación a Objetos II
Herencia
Una clase puede heredar de otraSe usa para definir la relación “es un”Adulto es un HumanoEn Ruby se usa el operador <
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
Accesando al padre
Una vez que hemos sobrescrito un método, se puede accesar a este mediante el uso del super
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
Definiendo Propiedades
Otra forma es usando los metodos especiales attr_reader y attr_writer
Definiendo Propiedades
Y si es de entrada y salida attr_accessor es nuestro nuevo amigo
Ambito: privado
Por defecto, todos los métodos son públicosAl escribir private dentro de una clase hace
que todos los metodos que vengan luego de esta sentencia sean privados
Ambito: privado
Y si queremos volver a hacerlo públicos escribimos public
Reto: Hagamos taxonomia
Definiremos una clase mamiferoDefiniremos 2 clases que hereden de
mamiferoUsemos propiedades y metodos con ambitos
públicos o privados
Múltiples Archivos
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
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)
Reto: Organizemos Código
Separemos el ejercicio anterior en diferentes archivos
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.
Todos los archivos en:
https://github.com/scyrizales/Ruby101/tree/master/CuartaClase
Muchas gracias