¿Qué es la orientación a objetos en Python?
La orientación a objetos tiene tres características principales: encapsulación, herencia y polimorfismo.
La encapsulación consiste en abstraer los atributos y comportamientos de un tipo de cosa en una clase, haciendo que los atributos sean privados y los comportamientos públicos, mejorando la confidencialidad de los datos y modularizando el código. Hacerlo mejora la reutilización del código.
Recomendado: videotutorial de Python
La herencia da un paso más sobre esta base: abstrae los atributos y comportamientos de la clase**** en una clase principal y en cada subclase. es una clase principal especial: tiene los comportamientos y atributos de la clase principal, así como sus propios comportamientos y atributos únicos. Al hacerlo, se amplían los bloques de código existentes y se mejora aún más la reutilización del código.
Si la encapsulación y la herencia son para la reutilización del código, entonces el polimorfismo es para la reutilización de la interfaz. Una de las funciones principales del polimorfismo es el desacoplamiento: desacoplar la relación de herencia entre las clases principales y las subclases. Si la relación entre la clase principal y la clase secundaria en herencia es IS-A, entonces la relación entre la interfaz y la clase de implementación es HAS-A. En pocas palabras, el polimorfismo permite que las referencias (o interfaces) de clases principales apunten a subclases (o implementaciones) de objetos. Muchos patrones de diseño se basan en polimorfismo orientado a objetos.
En resumen, si la encapsulación y la herencia son la base de la orientación a objetos, entonces el polimorfismo es la teoría más básica de la orientación a objetos. Para dominar el polimorfismo, primero debe comprender la interfaz. Solo comprendiendo completamente la interfaz podrá aplicar mejor el polimorfismo.