https://youtu.be/HJOts0XV9PU

¿Qué son?

La programación orientada a objetos (POO) es un paradigma de programación que se basa en el concepto de "objetos", que son entidades que combinan datos y comportamiento. La POO permite modelar entidades del mundo real de forma más natural y fácil de entender, lo que hace que sea una forma muy popular de programar.

JavaScript es un lenguaje de programación orientado a objetos, aunque no utiliza la misma sintaxis que otros lenguajes como Java o C#.

En la POO, se crean clases que sirven como plantillas para crear objetos. Cada clase define la estructura y el comportamiento de los objetos que se creen a partir de ella. Los objetos pueden tener propiedades (datos) y métodos (funciones), y se pueden crear relaciones entre ellos para modelar la realidad de forma más precisa.

La POO también permite la herencia, que es la capacidad de crear una clase a partir de otra y heredar sus propiedades y métodos. Esto permite crear jerarquías de clases y ahorrar código al reutilizar funcionalidades.

Crear objetos con Object

Se pueden crear objetos de varias maneras y una de las más comunes, aunque NO recomendable, es mediante la función Object.

Crear objetos con llaves { }

Otra forma común de crear objetos es mediante la notación de llaves, que permite definir un objeto literalmente.


Clases

La POO permite crear clases, que son plantillas para crear objetos. Las clases se crean mediante la palabra clave class y se pueden utilizar para definir la estructura y el comportamiento de los objetos que se creen a partir de ellas.


Herencia

La POO también permite la herencia, que es la capacidad de crear una clase a partir de otra y heredar sus propiedades y métodos. Para implementar la herencia, se utiliza la palabra clave extends.


Ejercicios

  1. El Automóvil:

    Crea un objeto llamado automovil que tenga propiedades como marca, modelo y año. Luego, usa console.log para imprimir el modelo del automóvil.

  2. La Actualización del Perro:

    Crea un objeto llamado perro que tenga propiedades como nombre, raza y edad. Luego, cambia la edad del perro.

  3. El Método de la Cuenta Bancaria:

    Crea un objeto cuentaBancaria que tenga propiedades como titular y saldo, y un método depositar que aumente el saldo.

  4. La Clase de los Gatos:

    Crea una clase Gato que tenga propiedades como nombre, color y edad, y un método maullar.

  5. La Herencia de los Animales:

    Crea una clase Animal con propiedades y métodos comunes a los animales, y luego crea una clase Perro que herede de Animal.

  6. El Polimorfismo de los Sonidos:

    Crea una clase Animal con un método hacerRuido. Luego, crea clases Perro y Gato que hereden de Animal y sobrescriban el método hacerRuido.

Solución 1

let automovil = {
marca: “Toyota”,
modelo: “Corolla”,
año: 2020
};
console.log(automovil.modelo);

Solución 2

let perro = {
nombre: “Max”,
raza: “Golden Retriever”,
edad: 5
};
perro.edad = 6;
console.log(perro);

Solución 3

let cuentaBancaria = {
titular: “Pedro Pérez”,
saldo: 1000,
depositar: function(cantidad) {
this.saldo += cantidad;
}
};
cuentaBancaria.depositar(500);
console.log(cuentaBancaria.saldo);

Solución 4

class Gato {
constructor(nombre, color, edad) {
this.nombre = nombre;
this.color = color;
this.edad = edad;
}

maullar() {
console.log(“¡Miau!”);
}
}
let gato1 = new Gato(“Luna”, “blanca”, 3);
gato1.maullar();

Solución 5

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

hacerRuido() {
console.log(“¡Este animal hace ruido!”);
}
}

class Perro extends Animal {
ladrar() {
console.log(“¡Guau!”);
}
}

let perro1 = new Perro(“Firulais”, 4);
perro1.hacerRuido();
perro1.ladrar();

Solución 6

class Animal {
hacerRuido() {
console.log(“¡Este animal hace ruido!”);
}
}

class Perro extends Animal {
hacerRuido() {
console.log(“¡Guau!”);
}