hacer clases
Gabriel Genellina
gagsl-py2 en yahoo.com.ar
Vie Jun 15 04:33:08 CEST 2007
En Thu, 14 Jun 2007 08:39:50 -0300, hesed franquet <hfb1021 en yahoo.es>
escribió:
> Hola estoy haciendo un tutorial pero no funcionan las cosas y pruebo con
> otro todos hacen las clases diferentes pero ninguna me funciona así que
> haber si me podeis decir como se hacen ya que si que os deben funcionar.
Que significa "hacer clases"?
Esta es una clase:
=== comienzo ===
class Persona(object):
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def saludar(self, otro):
print "Hola %s, soy %s. Como estas?" % (otro.nombre, self.nombre)
enrique = Persona("Enrique", 24)
juan = Persona("Juan", 25)
enrique.saludar(juan)
juan.saludar(enrique)
=== fin ===
Si copias lo de arriba en un archivo llamado persona.py se puede ejecutar
haciendo:
C:\TEMP>python persona.py
Hola Juan, soy Enrique. Como estas?
Hola Enrique, soy Juan. Como estas?
Ahora agreguemos (en el mismo archivo persona.py) una nueva clase,
derivada de Persona, llamémoslo Argentino (algunos dirán que no, que los
argentinos no son personas, pero bué, a los efectos didácticos aceptémoslo
por ahora...). La clase Argentino tiene los mismos atributos que una
persona genérica, pero se diferencia en cómo saluda:
=== comienzo ===
class Argentino(Persona):
def saludar(self, otro):
print "%s! Loco, que haces! Soy %s, como estas che?" %
(otro.nombre, self.nombre)
matias = Argentino("Matias", 18)
matias.saludar(enrique)
=== fin ===
Y podemos ver cómo saluda Matías:
Enrique! Loco, que haces! Soy Matias, como estas che?
Asi que ya ves, creamos dos clases (eso es herencia), tres instancias,
sobreescribimos un método (eso es polimorfismo)... Ahora te toca seguir
leyendo, por ejemplo, Inmersión en Python
<http://es.diveintopython.org/toc.html>
--
Gabriel Genellina
------------ 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