Resumen de los Elementos Básicos de JavaScript

INICIO

Herencia en JavaScript

Definición

La herencia es un concepto fundamental de la programación orientada a objetos que permite que una clase (denominada clase hija o subclase) herede propiedades y métodos de otra clase (denominada clase padre o superclase). Esto permite reutilizar código y crear jerarquías de clases.

¿Por qué usar Herencia?

Implementación de la Herencia en JavaScript

En JavaScript, la herencia se puede implementar utilizando la palabra clave extends en combinación con clases. A continuación, se muestra un ejemplo práctico:

Ejemplo de Herencia

class Animal {
    constructor(nombre) {
        this.nombre = nombre;
    }

    hacerSonido() {
        console.log("El animal hace un sonido.");
    }
}

class Perro extends Animal {
    hacerSonido() {
        console.log("El perro ladra.");
    }
}

const miPerro = new Perro("Rex");
miPerro.hacerSonido(); // Salida: El perro ladra.
    

Detalles del Ejemplo

  1. Clase Padre: La clase Animal es la clase padre que tiene un constructor y un método hacerSonido.
  2. Clase Hija: La clase Perro hereda de Animal usando extends y sobreescribe el método hacerSonido.
  3. Instancia de la Clase Hija: Se crea una instancia de la clase Perro y se llama a su método hacerSonido.

Uso de super()

Cuando se crea una clase hija que extiende a una clase padre, puedes usar la función super() para llamar al constructor de la clase padre. Esto es útil para inicializar propiedades heredadas.

Ejemplo con super()

class Gato extends Animal {
    constructor(nombre) {
        super(nombre); // Llama al constructor de la clase padre
    }

    hacerSonido() {
        console.log("El gato maúlla.");
    }
}

const miGato = new Gato("Miau");
console.log(miGato.nombre); // Salida: Miau
miGato.hacerSonido(); // Salida: El gato maúlla.
    

Conclusión

La herencia en JavaScript es una poderosa característica que permite a las clases compartir y extender funcionalidades, promoviendo la reutilización del código y una mejor organización. Usando la palabra clave extends y super(), puedes crear jerarquías de clases que faciliten el desarrollo de aplicaciones complejas.

Modificadores de Acceso en JavaScript

Definición

Los modificadores de acceso son características que permiten controlar la visibilidad y el acceso a las propiedades y métodos de una clase. En JavaScript, a partir de ECMAScript 2022, se han introducido modificadores de acceso para ayudar a encapsular datos y proteger la integridad del estado de un objeto.

Tipos de Modificadores de Acceso

Ejemplo de Modificadores de Acceso

class Persona {
    // Propiedad privada
    #nombre;

    constructor(nombre) {
        this.#nombre = nombre; // Inicializa la propiedad privada
    }

    // Método público
    saludar() {
        console.log(`Hola, soy ${this.#nombre}.`);
    }

    // Método privado
    #detalles() {
        return `Detalles de ${this.#nombre}`;
    }
}

const juan = new Persona("Juan");
juan.saludar(); // Salida: Hola, soy Juan.
// console.log(juan.#nombre); // Error: propiedad privada no accesible
// juan.#detalles(); // Error: método privado no accesible
    

Detalles del Ejemplo

  1. Propiedad Privada: La propiedad #nombre es privada y solo puede ser accedida dentro de la clase Persona.
  2. Método Público: El método saludar es público y se puede llamar desde una instancia de la clase.
  3. Método Privado: El método #detalles es privado y no puede ser llamado desde fuera de la clase.

Ventajas de Usar Modificadores de Acceso

Conclusión

Los modificadores de acceso son herramientas poderosas en JavaScript que permiten controlar la visibilidad de las propiedades y métodos de una clase. Al usar modificadores como public y private, puedes implementar el encapsulamiento y mejorar la organización y mantenibilidad de tu código.