diff options
author | Ekaitz Zarraga <ekaitz@elenq.tech> | 2020-02-14 22:24:32 +0100 |
---|---|---|
committer | Ekaitz Zarraga <ekaitz@elenq.tech> | 2020-02-14 22:24:32 +0100 |
commit | f5e0f9a3cf99e3a0813007520598320a267e8951 (patch) | |
tree | b7980d36e589d5a696f6012496a2168f6a274f57 | |
parent | 16f4948151c1473d870a0bc826a44ad4b60678cd (diff) |
Note about terminology: duck typing
-rw-r--r-- | src/05_oop.md | 6 |
1 files changed, 5 insertions, 1 deletions
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: `__` |