¿Cuál es el concepto de orientación a objetos?
La orientación a objetos tiene tres características: encapsulación, herencia y polimorfismo.
La encapsulación consiste en abstraer los atributos y comportamientos de un tipo de cosa en una clase, privatizar sus atributos y hacer públicos sus comportamientos, mejorar la confidencialidad de los datos y modularizar el código. Hacerlo mejora la reutilización del código.
La herencia consiste en abstraer aún más todos los atributos y comportamientos de una clase de cosas en una clase principal. Cada subclase es una clase principal especial: tiene los comportamientos y atributos de la clase principal, y también tiene sus propios. propio comportamiento y propiedades únicas. Esto amplía los bloques de código existentes y 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 del polimorfismo es el desacoplamiento: eliminar el acoplamiento de la herencia entre padres e hijos. Si la relación entre la clase principal y la subclase en herencia es -a, entonces la relación entre la interfaz y la clase de implementación es -A. En pocas palabras, el polimorfismo permite que una referencia (o interfaz) de clase principal apunte a una subclase (o. clase de implementación) objeto. Muchos patrones de diseño se basan en un diseño polimórfico orientado a objetos.
En resumen, si la encapsulación y la herencia son la base de la teoría orientada a objetos, entonces el polimorfismo es la esencia de la teoría orientada a objetos. Para dominar el polimorfismo, primero debe comprender la interfaz. Solo comprendiendo completamente la interfaz podrá aplicar mejor el polimorfismo.