OO en general y en Python en particular.

Chema Cortés py en ch3m4.org
Mar Nov 30 12:35:55 CET 2004


El Martes, 30 de Noviembre de 2004 02:37, Victor Peinado escribió:

> Tengo un gran cacao con la orientación a objetos. Para empezar, no soy
> informático sino lingüista y prácticamente puedo decir que aprendí a
> programar usando Perl y ANSI C espartano, con todas las cosas buenas y
> malas que eso conlleva, es decir, lo mío es la programación orientada
> al gusto (TM) :-)
>
> Desde que estoy usando Python (unos mesecillos), he usado la
> orientación a objetos de forma bastante básica. Entiendo las nociones
> básicas de OO, importo clases ya implementadas pero me cuesta mucho
> diseñar mis propias clases: no veo como implementar mis necesidades en
> forma de clases y métodos. De hecho, las pocas clases que he hecho
> hasta ahora no son más que objetos chorras cuyos métodos no son más
> que algunas funciones de uso corriente que tenía desperdigadas por
> varios scripts. Me gustaría echarle un vistazo a algún tuto que
> explique casos prácticos de usos de OO (si puede ser con ejemplos en
> Python, pues mejor), cómo implementar correctamente clases útiles y
> que vaya más allá que los ejemplos del "Dive into Python" y del
> tutorial de Python.org: las clases "persona", "vehículo" y "bicicleta"
> ya las tengo controladas :-P
>
> En definitiva, ¿alguien me puede recomendar algún tuto o manual que
> explique OO en Python? Gracias de antemano y saludos.

Ante todo, tranquilo. Estás sufriendo un típico síndrome de cambio de 
"paradigma" ;-)

Ya que supongo que conoces los metamodelos lingüísticos, supongo que 
encuentras problemas a la hora de pasar de convertir tu "mapa mental" en una 
estructuración de objetos. Ésto, en principio, debería ser un paso bastante 
natural. Intenta empezar por crear la jerarquía de clases "sin código", sólo 
por visualizar las dependencias que hay. Una vez vista la jerarquía, empieza 
a traducir estados en atributos y acciones en métodos.

Para aprender, no hay nada mejor que intentar crear algún interface gráfico 
con algún toolkit como wxpython ó gtk; pero si quieres algo más teórico te 
propongo varias vías:

CafePy: http://www.cafepy.com
Es bastante técnico, pero se entiende bastante bien. Te enseña cosas como la 
unificación de tipos y clases, y en qué se basan los descriptores de python.

Metaclases: http://www.python.org/cgi-bin/moinmoin/MetaClasses
Básicamente, una metaclase es un "generador" de clases, un concepto sencillo 
que puede retorcerse para implementar nuevas caraterísticas del lenguaje.

Patrones de diseño:
- Think In Python: http://www.mindview.net/Books/TIPython
- http://www.python.org/cgi-bin/moinmoin/PatternProgramming
La creación de patrones de diseño tal vez sea la aplicación del OOP que más 
pueda gustar a un lingüista.


Si no es lo que necesitas, cuéntanos más sobre cuáles son tus necesidades y 
dónde has encontrado problemas.
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: no disponible
Type: application/pgp-signature
Size: 189 bytes
Desc: no disponible
URL: <http://mail.python.org/pipermail/python-es/attachments/20041130/fbb5fc43/attachment.pgp>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es