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

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 »
Ilustración de la relación entre matemáticas y codificación
Programacion
Ego Cañari Torres

La Matemática y su impacto en la Programación

La programación y la matemática son dos disciplinas que están estrechamente relacionadas, la matemática es la base fundamental de la programación, y su influencia se puede apreciar en cada línea de código que se escribe. En este artículo, exploraremos cómo

Leer más »
Historias de terror
Ego Cañari Torres

Ecos de los Susurros: Historias de Terror y Suspenso

Capítulo 1: La Llegada al Asilo Diego Valdez ajustó la correa de su mochila y contempló el viejo edificio ante él. El Asilo de los Susurros, como lo llamaban en el pueblo, se alzaba con su estructura deteriorada y su fachada

Leer más »
Las penas del joven Werther
Literatura
Recuerdos de un insomnio

Las penas del joven Werther

Werther es un joven alemán, amante del arte, la literatura y en especial de la naturaleza.  En busca de la constante sensación de la libertad decide mudarse, dejando atrás a su gran amigo Guillermo a quien le escribe constantemente contándole su día a día.                 

Leer más »
Programacion
Ego Cañari Torres

python matplotlib

python matplotlib es una biblioteca de visualización de datos en Python. Se utiliza para crear gráficos y diagramas en 2D y 3D, y se puede utilizar para representar una variedad de datos, como líneas, barras, histogramas, gráficos de dispersión, gráficos

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 *