[pyar] Aprendiendo sobre Clases y Herencia
gustavo c
p8queen en gmail.com
Dom Dic 5 14:17:48 ART 2010
On Sat, Dec 04, 2010 at 04:11:27PM -0300, craf wrote:
> Hola a todos.
>
> Estoy comenzando a aprender sobre la programación orientada a objetos
> con Python y me he quedado pegado en un punto en el cual no he logrado
> encontrar una solución.
>
A mi me parece que el error viene por no tener la teoría básica de POO.
Practicando vas aprendiendo y seguí consultando.
Espero qeu no te sientas mal por lo que digo, y te paso algun consejo.
Está bueno el ejemplo, asi que sigamos sin el código.
Tengo un objeto vehículo con propiedades, entre ellas cantGasolina y
recibe mensajes (en el código son los métodos).
Que paso cuando heredo, porque quiero herencia. ?
Si modelas con una clase un Bus, ves que estarías repitiendo código.
Que hago? Pienso en que quiero generalizar.
En tu ejemplo, la clase vehículo es la generalización.
Con Bus, que es un "vehículo extendido", podés agregar mensajes (metodos
en el codigo) y pisar algunos.
Vos pisaste __init__, estas diciendo que ante el mensaje
bus init, se comporte diferente a vehículo. De aquí nacen dos caminos.
Quiero un comportamineto diferente o solo quiero extenderlo.
Vos querías extender __init__, bien.
Ahora que sabes que queres, buscas
en la documentación de Python como hacer ese cambio en __init__, agregar
algo al comportamiento del padre.
Aquí aparece la palabra, super.
Conclusión: estudiar super y buscá algun texto que enseñe POO, sin
importar la implementación.
PD: si mandás otro e-mail, con otro sujeto, tipo POO y polimorfismo, lo
contesto.
De paso, me diste la iddea de ir escribiendo algo en un blog. POrque hay
libros que hacen difícil, lo fácil. El lio de POO está en patrones de
diseño. Ahí se necesita estudio y práctica.
--
Gustavo C [mutt]
twitter: @fromgus
More information about the pyar
mailing list