Capítulo 13. Interfaces, protocolos y ABC
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Programa una interfaz, no una implementación.
Gamma, Helm, Johnson, Vlissides, Primer Principio del Diseño Orientado a Objetos1
La programación orientada a objetos gira en torno a las interfaces. La mejor forma de entender un tipo en Python es conocer los métodos que proporciona -su interfaz-, como se explica en "Los tipos se definen por las operaciones que admiten"(Capítulo 8).
Dependiendo del lenguaje de programación, tenemos una o varias formas de definir y utilizar interfaces. Desde Python 3.8, tenemos cuatro formas, que se representan en elMapa de Tipado(Figura 13-1). Podemos resumirlas así:
- Mecanografía
-
El enfoque por defecto de Python para tipar desde el principio. Llevamos estudiando la tipificación de patos desde el Capítulo 1.
- Ganso escribiendo a máquina
-
El enfoque que soportan las clases base abstractas (ABC) desde Python 2.6, que se basa en comprobaciones en tiempo de ejecución de los objetos respecto a las ABC.El tipado ganso es uno de los temas principales de este capítulo.
- Tipificación estática
-
El enfoque tradicional de los lenguajes de tipado estático como C y Java; soportado desde Python 3.5 por el módulo
typing
, y reforzado por verificadores de tipos externos que cumplen con PEP 484-Type Hints. Éste no es el tema de este capítulo. La mayor parte del Capítulo 8 y el próximo Capítulo 15 tratan del ...
Get Python fluido, 2ª edición now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.