Curso javascript nivel medio
En JavaScript, las clases proporcionan una forma más clara y concisa de crear objetos y gestionar herencia en comparación con las funciones constructoras tradicionales. La sintaxis de class fue introducida en ES6 (ECMAScript 2015) y es muy similar a las clases en otros lenguajes de programación orientados a objetos como Java o Python.
¿Qué es una clase?
Una clase es una plantilla para crear objetos con propiedades y métodos. Estas propiedades y métodos definen las características y comportamientos de los objetos creados a partir de la clase.
¿Cómo se define una clase?
Se define una clase usando la palabra clave class seguida del nombre de la clase (por convención, el nombre de la clase empieza con una letra mayúscula). Dentro de la clase, puedes definir un constructor y otros métodos.
Ejemplo básico de una clase:
1class Persona { 2 constructor(nombre, edad) { 3 this.nombre = nombre; 4 this.edad = edad; 5 } 6 7 saludar() { 8 console.log(`Hola, mi nombre es ${this.nombre } y tengo ${ this.edad } años.`); 9 } 10} 11 12let persona1 = new Persona("Juan", 30); 13let persona2 = new Persona("Ana", 25); 14 15persona1.saludar(); // Muestra "Hola, mi nombre es Juan y tengo 30 años." 16persona2.saludar(); // Muestra "Hola, mi nombre es Ana y tengo 25 años."Salida de Consola!: Hola, mi nombre es Juan y tengo 30 años. Hola, mi nombre es Ana y tengo 25 años.
En este ejemplo:
class Persona: Define una clase llamadaPersona.constructor(nombre, edad): Es un método especial que se ejecuta cuando se crea un nuevo objeto de la clase. Inicializa las propiedades del objeto (nombreyedad).saludar(): Es un método que pertenece a la clasePersona. Los objetos creados a partir de esta clase pueden usar este método.
Creación de objetos con new
Para crear un nuevo objeto a partir de una clase, se usa la palabra clave new seguida del nombre de la clase y los argumentos necesarios para el constructor.
Ejemplo:
1let persona1 = new Persona("Juan", 30);
Esto crea un nuevo objeto persona1 basado en la clase Persona, con nombre igual a "Juan" y edad igual a 30.
Herencia en clases
Las clases en JavaScript también soportan herencia, lo que significa que una clase puede heredar propiedades y métodos de otra clase.
Ejemplo de herencia:
1class Persona { 2 constructor(nombre, edad) { 3 this.nombre = nombre; 4 this.edad = edad; 5 } 6 saludar() { 7 console.log(`Hola, mi nombre es ${this.nombre} y tengo ${this.edad} años.`); 8 } 9} 10 11class Estudiante extends Persona { 12 constructor(nombre, edad, curso) { 13 super(nombre, edad); // Llama al constructor de la clase base (Persona) 14 this.curso = curso; 15 } 16 estudiar() { 17 console.log(`${this.nombre} está estudiando el curso de ${this.curso}.`); 18 } 19} 20 21let estudiante1 = new Estudiante("Luis", 20, "Matemáticas"); 22 23estudiante1.saludar(); // Muestra "Hola, mi nombre es Luis y tengo 20 años." 24estudiante1.estudiar(); // Muestra "Luis está estudiando el curso de Matemáticas."Salida de Consola!: Hola, mi nombre es Luis y tengo 20 años. Luis está estudiando el curso de Matemáticas.
En este ejemplo:
extends: Se usa para crear una nueva clase que hereda de otra clase.super(): Llama al constructor de la clase padre (Persona) para asegurarse de que las propiedades heredadas se inicialicen correctamente.Estudiante: Es una clase que extiende la funcionalidad dePersonaañadiendo una nueva propiedad (curso) y un nuevo método (estudiar).
Resumen
- Clases en JavaScript se definen con la palabra clave
classy proporcionan una forma más estructurada y clara de crear objetos. - El constructor es un método especial que se ejecuta al crear un nuevo objeto y se usa para inicializar las propiedades.
- Métodos se definen dentro de la clase y pueden ser usados por los objetos creados a partir de esa clase.
- Herencia permite que una clase (subclase) herede propiedades y métodos de otra clase (superclase) usando
extendsysuper().
La sintaxis de class hace que trabajar con objetos y la programación orientada a objetos en JavaScript sea más intuitivo y similar a otros lenguajes.
- Loading...
Objetivo:
Crear una clase llamada Coche que represente un coche y tenga varios atributos y métodos para interactuar con el coche.
Instrucciones:
La clase Coche tendrá un constructor que reciba la marca y el modelo del coche.
Crea la clase Coche con los siguientes atributos:
- marca: Marca del coche.
- modelo: Modelo del coche.
- velocidad: La velocidad actual del coche (inicialmente será 0).
- encendido: Un estado booleano que indica si el coche está encendido o apagado (inicialmente false).
Añade los siguientes métodos a la clase:
- acelerar(kmh): Aumenta la velocidad en el valor que se le pase por parámetro. Solo si el coche está encendido.
- frenar(): Pone la velocidad a 0. Solo si el coche está encendido.
Loading...