text

Introducción a la POO en JavaScript

¡Bienvenidos al maravilloso mundo de la Programación Orientada a Objetos (POO) en JavaScript! Si eres nuevo en la programación o simplemente quieres ampliar tus conocimientos, estás en el lugar correcto. La POO es un paradigma de programación que te permite organizar y estructurar tu código de manera más eficiente y modular.

En la POO, los objetos son el centro de todo. Un objeto es una entidad que tiene propiedades (variables) y métodos (funciones) que le dan vida. Estos objetos pueden interactuar entre sí, heredar características y ser reutilizados en diferentes partes de tu programa.

Clases y Objetos

En JavaScript, puedes crear objetos utilizando clases. Una clase es una plantilla o molde que define las propiedades y métodos que tendrán los objetos creados a partir de ella. Para crear una clase, utilizamos la palabra clave class:

JavaScript
class Perro {
  constructor(nombre, raza) {
    this.nombre = nombre;
    this.raza = raza;
  }

  ladrar() {
    console.log("¡Guau guau!");
  }
}

Ahora que tenemos nuestra clase Perro, podemos crear objetos a partir de ella utilizando la palabra clave new:

JavaScript
const miPerro = new Perro("Firulais", "Labrador");

En este ejemplo, hemos creado un objeto llamado miPerro que tiene un nombre de «Firulais» y una raza de «Labrador». También puede ladrar utilizando el método ladrar() que hereda de la clase Perro.

Herencia

Una de las ventajas de la POO es la capacidad de heredar características de una clase a otra. Esto nos permite reutilizar código y crear jerarquías de objetos. En JavaScript, podemos lograr esto utilizando la palabra clave extends:

JavaScript
class PerroSalchicha extends Perro {
  constructor(nombre) {
    super(nombre, "Salchicha");
  }

  estirarse() {
    console.log("¡Estoy estirado!");
  }
}

En este ejemplo, hemos creado una nueva clase llamada PerroSalchicha que hereda de la clase Perro. Además de las propiedades y métodos de la clase padre, la clase PerroSalchicha tiene su propio método estirarse().

Encapsulación

Otra característica importante de la POO es la encapsulación. Esto significa que los datos y métodos de un objeto se mantienen ocultos y solo se pueden acceder a través de métodos públicos. En JavaScript, podemos lograr esto utilizando el prefijo underscore para indicar que una propiedad o método es privado:

JavaScript
class CuentaBancaria {
  constructor(saldoInicial) {
    this._saldo = saldoInicial;
  }

  depositar(cantidad) {
    this._saldo += cantidad;
  }

  retirar(cantidad) {
    if (cantidad <= this._saldo) {
      this._saldo -= cantidad;
    } else {
      console.log("No tienes suficiente saldo");
    }
  }

  obtenerSaldo() {
    return this._saldo;
  }
}

En este ejemplo, la propiedad _saldo es privada y solo se puede acceder a ella a través del método obtenerSaldo(). Esto evita que se acceda directamente al saldo y se manipule de manera incorrecta.

Polimorfismo

El polimorfismo es una característica de la POO que permite que los objetos de diferentes clases respondan de manera diferente a un mismo método. Esto nos da flexibilidad y nos permite tratar diferentes objetos de manera uniforme. En JavaScript, podemos lograr esto simplemente sobrescribiendo un método en una clase hija:

JavaScript
class Animal {
  hacerSonido() {
    console.log("Haciendo sonido genérico");
  }
}

class Perro extends Animal {
  hacerSonido() {
    console.log("¡Guau guau!");
  }
}

class Gato extends Animal {
  hacerSonido() {
    console.log("¡Miau miau!");
  }
}

const miPerro = new Perro();
const miGato = new Gato();

miPerro.hacerSonido(); // Imprime "¡Guau guau!"
miGato.hacerSonido(); // Imprime "¡Miau miau!"

En este ejemplo, hemos creado una clase base Animal y dos clases hijas Perro y Gato. Cada una de estas clases tiene su propio método hacerSonido() que sobrescribe el método de la clase base.

La POO es una herramienta poderosa que puede mejorar la estructura y eficiencia de tu código, así que ¡a seguir aprendiendo!

Tabla de Contenido

Contenido Adicional

Imagen de La Casa Matusita en Lima, Perú, un lugar misterioso con una rica historia de leyendas urbanas y fenómenos paranormales.
Historias de terror
audra

La escalofriante historia de La Casa Matusita en Perú

¡Bienvenidos, amigos, a una de las historias más escalofriantes de Perú! Hoy vamos a adentrarnos en los misterios y leyendas que rodean a la famosa Casa Matusita, un lugar que ha aterrorizado a los valientes que se han atrevido a

Leer más »
Drácula de Bram Stoker
Terror
Eylen Almendra Ortiz Perez

Drácula de Bram Stoker

Resumen «Drácula» de Bram Stoker es una novela gótica y de terror que sigue la historia del conde Drácula, un vampiro inmortal que busca expandir su dominio y sembrar el terror en el mundo humano. La novela está escrita en

Leer más »
Fundamentos de Programacion
Programacion
Ego Cañari Torres

Fundamentos de Programación

Array en JavaScript: Array en Python: Array en Java: Array en C#: Array en PHP: Array en C++: If en los lenguajes mas populares Condicionales if, elseif y else en JavaScript Condicionales if, elseif y else en Java Condicionales if,

Leer más »
text
Desarrollo web
audra

DOM y Eventos con JavaScript

El fascinante mundo del DOM y los eventos en JavaScript Si eres un desarrollador web, es muy probable que hayas escuchado hablar del DOM y los eventos en JavaScript. Pero, ¿qué son realmente y por qué son tan importantes en

Leer más »
text
Javascript
Ego Cañari Torres

Prototipos y Herencia en JavaScript

¿Qué son los prototipos en JavaScript? En JavaScript, los prototipos son una característica fundamental del lenguaje que permite la herencia de propiedades y métodos entre objetos. En lugar de utilizar clases como en otros lenguajes de programación, JavaScript utiliza prototipos

Leer más »

3 respuestas a “Introducción a la POO en JavaScript”

  1. […] Explorar Home » Programacion » Javascript » Estructuras de Datos y Funciones con Javascript Tabla de Contenido […]

  2. I simply could not go away your web site prior to suggesting that I really enjoyed the standard info a person supply on your guests Is going to be back incessantly to investigate crosscheck new posts

  3. Nice blog here Also your site loads up very fast What host are you using Can I get your affiliate link to your host I wish my site loaded up as quickly as yours lol

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *