Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/exercises/es/15_metodos-privadas_solucion.py
diff options
context:
space:
mode:
Diffstat (limited to 'exercises/es/15_metodos-privadas_solucion.py')
-rw-r--r--exercises/es/15_metodos-privadas_solucion.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/exercises/es/15_metodos-privadas_solucion.py b/exercises/es/15_metodos-privadas_solucion.py
new file mode 100644
index 0000000..2d3ced6
--- /dev/null
+++ b/exercises/es/15_metodos-privadas_solucion.py
@@ -0,0 +1,55 @@
+#!/usr/bin/python
+# coding=utf-8
+
+"""Factorizar un código común a partir de dos métodos en un nuevo método
+privado.
+
+Parte del código en la clase a continuación se repite. Busque las dos líneas de
+código repetido y moverlos a un nuevo método privado que debe ser llamado desde
+los lugares se retiró el código duplicado desde.
+
+Recuerde documentar el nuevo método que utiliza una docstring!
+"""
+
+class Counter(object):
+ """Un contador que se incrementa o se restablece.
+
+ Esto podría ser utilizado para el recuento de las personas que pasan a
+ través de una puerta de entrada, para ejemplo. Cada vez que cambia el
+ valor de venta libre, se imprime el mismo mensaje.
+ """
+ def __init__(self):
+ self._counter = 0
+
+ def get_counter(self):
+ """Devolver el valor del contador."""
+ return self._counter
+
+ def __set_counter(self, counter):
+ """Establezca el valor del contador e imprimir un mensaje."""
+ self._counter = counter
+ print('Contador es ahora: %i' % self._counter)
+
+ def increment_counter(self):
+ """Incrementar el valor del contador e imprimir un mensaje."""
+ self.__set_counter(self._counter + 1)
+
+ def reset_counter(self):
+ """Restablecer el valor del contador a 0 e imprimir un mensaje."""
+ self.__set_counter(0)
+
+
+# Código de probar su clase. No modifique nada por debajo de esta línea.
+counter = Counter()
+assert(counter.get_counter() == 0)
+counter.increment_counter()
+assert(counter.get_counter() == 1)
+counter.increment_counter()
+assert(counter.get_counter() == 2)
+counter.reset_counter()
+assert(counter.get_counter() == 0)
+
+assert(Counter.__doc__ is not None)
+assert(Counter.get_counter.__doc__ is not None)
+assert(Counter.increment_counter.__doc__ is not None)
+assert(Counter.reset_counter.__doc__ is not None)