preloader

1 janvier 1 | 2 minutes de lecture
Index du contenu

Como ejemplo, la clase collections.MutableSequence es un ABC; este es un ABC para una secuencia de elementos que pueden ser modificados (mutables) y iterado sobre. Podemos usar esto como la clase base para nuestro propio tipo de colección que llamaremos a una Bolsa, por ejemplo: desde colecciones importar MutableSequence Bolsa de clase (MutableSequence): aprobar En este ejemplo estamos importando MutableSequence de la columna lecciones módulo. Nosotros entonces definir el clase Bolsa como extensión el Clase base abstracta MutableSequence. Por el momento estamos usando el La palabra clave especial de Python pasa como marcador de posición para el cuerpo de la clase. Sin embargo, esto significa que la clase Bag también es en realidad una clase abstracta, ya que no implementa ninguno de los métodos abstractos en MutableSequence ABC. Python, sin embargo, no valida esto en el momento de la importación; en su lugar, lo valida en tiempo de ejecución cuando se va a crear una instancia del tipo. En este caso, la clase Bag no implementa los métodos abstractos en MutableSequence y, por lo tanto, si un programa intenta crear una instancia de Bag, entonces se lanzaría el siguiente error: Rastreo (llamadas recientes más última): Archivo “/pythonintro/abstract/Bag.py”, línea 10, en <módulo> principal() Archivo “/pythonintro/abstract/Bag.py”, línea 7, en main bolsa = bolsa() TypeError: no se puede crear una instancia de clase abstracta Bolsa con resumen métodos delitem, getitem, len, setitem, insertar Como puede verse, este es un requisito bastante formal; si no implementas todos los métodos definidos como abstractos en la clase principal, entonces no puede crear una instancia de la clase que está definiendo (porque también es abstracta). Podemos definir un método para cada una de las clases abstractas en la clase Bag y luego podremos crear una instancia de la clase, por ejemplo: 26.3 Clases base abstractas en Python 301

comments powered by Disqus

popular post

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Lire plus

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Lire plus

• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.

Lire plus