Guion JavaScript – 29 septiembre
Hablemos de clases, programación orientada a objetos JavaScript
1. Para definir una clase utilizo el operador class
class Factura {
/* --- métodos y propiedades del objeto --- */
}
2. Crear nuestra primera clase
class Rectangulo {
constructor(alto, ancho) {
[Link] = alto;
[Link] = ancho;
}
}
3. Podemos crear propiedades de clases personalizadas.
utilizando la clase rectangulo
Ejemplo get
// Getter
get area() {
return [Link]();
}
// Metodo
calcArea () {
return [Link] * [Link];
}
4. Método estático, crear la clase punto recibe x, y y luego calcular la distancia entre
dos puntos
class puntoR2{
constructor(x, y){
this.x = x;
this.y = y;
}
static ecRecta(a, b){
const X = b.x - a.x;
const Y = b.y - a.y;
const m = Y/X;
const br =-m*a.x+a.y; /* y = mx + br*/
if(br > 0){
return (`La ecuacion de la recta es: y=${m}x+${br}`);
} else {
return (`La ecuacion de la recta es: y=${m}x${br}`);
};
};
static distancia(a1, b1){
const dx = a1.x - b1.x;
const dy = a1.y - b1.y;
const dist = [Link](dx*dx + dy*dy);
return (`La distancia entre los puntos es: ${dist}`);
};
}
5. Herencia
class puntoR3 extends puntoR2{
constructor(x, y, z){
super(x, y);
this.z = z;
};
static distancia(a1, b1){
const dx = a1.x - b1.x;
const dy = a1.y - b1.y;
const dz = a1.z - b1.z;
const dist = [Link](dx*dx + dy*dy + dz*dz);
return (`La distnacia entre los puntos es: ${dist}`);
};
static magnitud(p){
const mag = [Link](p.x*p.x + p.y*p.y + p.z*p.z);
return(`La magnitud del vector es: ${mag}`);
};
static unitario(p){
const mag = [Link](p.x*p.x + p.y*p.y + p.z*p.z);
const i = p.x/mag;
const j = p.y/mag;
const k = p.z/mag;
return(`El vector unitario es:(${i}, ${j}, ${k})`);
};
static Plano(p){
/* e. vectorial, parametrica */
const mag = [Link](p.x*p.x + p.y*p.y + p.z*p.z);
const i = p.x/mag;
const j = p.y/mag;
const k = p.z/mag;
/*return(`(x, y, z)=(${p.x}, ${p.y}, ${p.z} )+t(${i}, ${j}, ${k})`);*/
return(`x =${p.x}+${i}t, ${p.y}+${j}t, ${p.z}+${k}t`);
};
};