Module (18%)
Section (19%)

El enfoque orientado a objetos: una pila desde cero (continuación)

Esta es la nueva función pop:

def pop(self): val = Pila.pop(self) self.__sum -= val return val

Hasta ahora, hemos definido la variable __sum, pero no hemos proporcionado un método para obtener su valor. Parece estar escondido. ¿Cómo podemos mostrarlo y que al mismo tiempo se proteja de modificaciones?

Tenemos que definir un nuevo método. Lo nombraremos getSuma. Su única tarea será devolver el valor de __sum.

Aquí está:

def getSuma(self): return self.__sum

Entonces, veamos el programa en el editor. El código completo de la clase está ahí. Podemos ahora verificar su funcionamiento, y lo hacemos con la ayuda de unas pocas líneas de código adicionales.

Como puedes ver, agregamos cinco valores subsiguientes en la pila, imprimimos su suma y los sacamos todos de la pila.

Bien, esta ha sido una breve introducción a la programación de orientada a objetos de Python. Pronto te contaremos todo con más detalle.



Code

class Pila:
def __init__(self):
self.__listaPila = []

def push(self, val):
self.__listaPila.append(val)

def pop(self):
val = self.__listaPila[-1]
del self.__listaPila[-1]
return val

class SumarPila(Pila):
def __init__(self):
Pila.__init__(self)
self.__sum = 0


def getSuma(self):
return self.__sum

def push(self, val):
self.__sum += val
Pila.push(self, val)

def pop(self):
val = Pila.pop(self)
self.__sum -= val
return val


objetoPila = SumarPila()

for i in range(5):
objetoPila.push(i)
print(objetoPila.getSuma())

for i in range(5):
print(objetoPila.pop())
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×