martes, 12 de febrero de 2008

Programacion Orientada a Objetos II : Herencia

La herencia es uno de los grandes beneficios de trabajar con objetos, consiste en crear un nuevo objeto al que llamaremos hijo, el cual adquiere automicamente todos los atributos y metodos que contenga su padre. Veamos un ejemplo


#Codigo----
class Padre:
def __init__(self):
self.valor1 = 5
self.valor2 = 9

class Hijo(padre):
def __init__(self):
Padre.__init__(self)
def mostrar(self):
print "valor1: ", self.valor1
print "valor2: ", self.valor2

luego instanciamos el objeto hijo, no es necesario instanciar el padre ya que el hijo contiene todos los atributos y metodos del padre


hijo = Hijo()
hijo.mostrar

mostraria en la pantalla:
valor1: 5
valor2: 9

en C++ habria mucho mas que hablar de herencia, pues ahi los datos se pueden proteger del exterior dandoles el caracter de privado, y existen distintos niveles de proteccion, pero en python todos los datos siempre son de caracter publico, aun asi el programa siempre debe ser escrito considerando siempre en lo posible el principio de encapsulacion, el cual consiste en que cada objeto es cerrado en si, o sea no cambia los valores de los otros objetos y estos valores solo se modifican mandandose mensajes a traves del codigo principal.

No hay comentarios: