mètodes virtuals? polimorfisme? delegació? herència?

Aquest tros de codi amb Python:

#!/usr/bin/env python
# -*- encoding: utf-8 -*-

class main():
   def laptop(self):
      self.p()

class one(main):
   def p(self):
      print "Lenovo"

class two(main):
   def p(self):
      print "Asus"

# Creem un parell d'instàncies
i_one = one()
i_two = two()

i_one.laptop() # mostra "Lenovo"
i_two.laptop() # mostra "Asus"

El que fa bàsicament és crear 3 classes (dues d’elles –one i two– hereden de la primera –main-) de manera que totes les instàncies que es facin de les classes filles tindran els mètodes de la classe mare (el mètode laptop en aquest cas).

A més cada classe filla defineix una mateixa funció (la funció p).

La gràcia d’aquest disseny és que et permet definir una especialització de comportament de manera que per exemple, si tens una col·lecció d’instàncies de one i two barrejades però vols saber-ne quin portàtil tenen, només cal que executis el mètode laptop a tota la col·lecció que sense cap problema ens dirà per a cada un d’ells quin portàtil té.

El dubte que em queda ara és: quin nom rep aquesta tècnica? Perquè he estat buscant en el llibre de Python que tinc (Learning Python d’O’Reilly) d’on he recordat aquesta possibilitat del Python i no he aconseguit trobar-la ni a l’índex del principi (per temes) ni  el del final (per nom).

un any i un dubte

ahir el bloc va fer un any des del primer missatge

amb 233 entrades surten a un missatge i mig al dia, tot i que segurament si miréssim un calendari amb les entrades deu estar molt mal repartit :)

el dubte que tinc és molt filosòfic i parlant des de l’absoluta ignorància …

l’altre dia no se perquè em va venir al cap el fet que es diu que les persones som un 80 i pico per cent d’aigua

doncs bé, el dubte rau en com es calcula això? es compten les partícules de què estem fets, s’ajunten totes les que serien d’aigua (H2O) i es diu mira, amb el 80% del material que forma el nostre cos podem fer aigua?