Bueno, certificar en el mismo sentido que una universidad certifica un título: en algún momento supiste lo suficiente como para aprobar cada examen. O una promesa del programador de que la clase se va a comportar de forma parecida a una lista, archivo... On May 5, 2014 11:50 AM, "Chema Cortes" <pych...@gmail.com> wrote:
> El 4 de mayo de 2014, 19:36, Daπid <davidmen...@gmail.com> escribió: > >> 2014-05-04 17:40 GMT+02:00 Chema Cortes <pych...@gmail.com>: >> >> Como es bastante tedioso andar comprobando los atributos y métodos que >>> tiene un objeto para saber si cumple o no con determinado protocolo, la >>> librería estándar facilita una colección de clases base abstractas >>> (ABC-Abstract Base Classes) para poder fijar las relaciones entre clases, >>> bien derivando de estas clases abstractas, bien registrando nuevas clases >>> abstractas en esta jerarquía (siempre de un modo virtual). >> >> >> Gracias por la explicación. Ahora entiendo la razón para usar ABC en >> lugar de ducktyping: son un certificado de que la clase incluye una serie >> de métodos. >> > > Bueno, certificar no certifican nada. Incluso si se pudiera comprobar que > todo es correcto en el momento de registrar una subclase, nada impediría > que se pudieran borrar los métodos y atributos más adelante. > > La idea es poder indicar que una clase responde a determinados "mensajes", > aunque no posea explícitamente los métodos para gestionarlos. Por ejemplo, > se podría hacerlo todo desde el método __getattribute__. No hay > introspección que pueda saber qué hace ahí. > > -- > Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": > http://ch3m4.org/blog > Buscador Python Hispano: http://ch3m4.org/python-es > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/