¿Por qué Python está orientado a objetos?
Aunque Python es un lenguaje interpretado, ha sido un lenguaje orientado a objetos desde el inicio de su diseño. Para Python, todo es un objeto. Debido a esto, es muy fácil crear una clase y un objeto en Python. Por supuesto, si está acostumbrado a la escritura orientada a procesos o funciones, Python tampoco impone restricciones estrictas.
Las características orientadas a objetos de Python son las siguientes:
Encapsulación
El término objeto (Objeto) en la programación orientada a objetos se puede considerar básicamente como datos (propiedades). ) y una colección de métodos que pueden acceder y manipular estos datos. El tradicional "programa = algoritmo de estructura de datos" se encapsula, "cubre" y simplifica a "programa = mensaje de objeto". Los objetos son instancias de clases y la abstracción de las clases debe encapsularse. La encapsulación permite a la persona que llama usar el objeto directamente sin preocuparse por cómo está construido el objeto.
Herencia
Herencia de clases:
La sensación directa de herencia es que es un acto de reutilización de código. La herencia puede entenderse como el establecimiento de un objeto de clase especial basado en una clase ordinaria. La subclase tiene una relación IS-A con la clase principal que hereda.
Herencia múltiple:
A diferencia de C#, Python admite herencia de clases múltiples (C# puede heredar de múltiples interfaces, pero como máximo una clase). El mecanismo de herencia múltiple a veces es útil, pero puede complicar las cosas fácilmente.
Polimorfismo
Polimorfismo significa que la misma operación se puede utilizar en diferentes objetos, pero pueden presentar resultados en múltiples formas. En Python, el polimorfismo se usa siempre que no sabes qué tipo es un objeto, pero necesitas que el objeto haga algo. Los métodos son polimórficos y también lo son los operadores.