From f5e0f9a3cf99e3a0813007520598320a267e8951 Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Fri, 14 Feb 2020 22:24:32 +0100 Subject: Note about terminology: duck typing --- src/05_oop.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/05_oop.md b/src/05_oop.md index 5f0ae6a..6fdb9ce 100644 --- a/src/05_oop.md +++ b/src/05_oop.md @@ -453,7 +453,7 @@ class Clase( SuperClase ): > múltiples y pisas los campos puede complicarse. -## Interfaces estándar: protocolos +## Interfaces estándar: Duck Typing Una de las razones principales para usar programación orientada a objetos es que, si se eligen los métodos con precisión, pueden crearse estructuras de @@ -495,6 +495,10 @@ automáticamente. Si el elemento no dispone de esas funciones lanzará una excepción como la que lanza cuando intentamos acceder a un método que no existe (que es básicamente lo que estamos haciendo en este caso). +> TODO: En realidad no se llaman protocolos todos ellos. Se llama así sólo al +> *iterator protocol*. En realidad se llaman: [Special Method +> Names](https://docs.python.org/3/reference/datamodel.html#special-method-names) + En general, python, con el fin de diferenciar claramente qué nombres elige el programador y cuales han sido seleccionados por el lenguaje, suele utilizar una convención para la nomenclatura: comienzan y terminan por: `__` -- cgit v1.2.3