Red de conocimiento informático - Aprendizaje de programación - Tres características principales de JS orientado a objetos: encapsulación, herencia, polimorfismo

Tres características principales de JS orientado a objetos: encapsulación, herencia, polimorfismo

Encapsule cosas (propiedades y métodos) en clases (objetos de programa), oculte los detalles de implementación de las propiedades y métodos de las cosas y solo exponga la interfaz al mundo exterior.

1. Patrón constructor

2. Encapsulación de prototipo

3. Patrón de función de declaración

4. Patrón de fábrica

5. Cierre

Un objeto puede usar las propiedades y métodos de otro objeto (las subclases pueden usar las propiedades y métodos de la clase principal)

1. Herencia de cadena de prototipos

2. Préstamo de constructores

Esto evita el problema de que otras instancias cambien las propiedades o métodos en el constructor en la herencia de la cadena de prototipos

: ¿Prestar atención a la ejecución? Orden del método de llamada aquí:

El valor se sobrescribirá, ¡así que preste atención a esto!

3. Herencia combinada

Utilice la cadena de prototipos para heredar los atributos y métodos del objeto prototipo, y utilice el constructor para heredar los atributos y métodos de la instancia

De esta manera la reutilización de funciones se logra definiendo métodos en el prototipo, mientras se garantiza que cada instancia tenga sus propios atributos

4. Herencia parasitaria

La herencia parasitaria es lo mismo que la herencia prototípica A Una idea estrechamente relacionada es crear una función que simplemente encapsule el proceso de herencia, mejore el objeto de alguna manera dentro de la función y finalmente devuelva el objeto.

5. Herencia combinada parasitaria

Diferentes objetos y la misma operación producen diferentes resultados. Separe "lo que quiere hacer" de "quién lo hará" y convierta las declaraciones condicionales de procedimiento en polimorfismo de objeto, eliminando así las declaraciones de rama condicional. Hay anulación y sobrecarga:

Anulación: las subclases pueden heredar métodos de las clases principales sin reescribir los mismos métodos. Pero a veces la subclase no quiere heredar los métodos de la clase principal sin cambios, pero quiere realizar ciertas modificaciones, lo que requiere reescribir el método. La anulación de métodos también se denomina sobrescritura de métodos.

Sobrecarga: cuando las funciones o métodos tienen el mismo nombre pero diferentes listas de parámetros, dichas funciones o métodos con el mismo nombre y diferentes parámetros se denominan funciones o métodos sobrecargados.