https://www.w3schools.com/js/js_class_intro.asp
https://code.tutsplus.com/tutorials/typescript-for-beginners-part-4-classes–cms-29565
// Definición de la clase. En este caso definimos como tiene que ser una 'Person' // Pero la clase NO ES una 'Person' class Person { name: string; constructor(theName: string) { this.name = theName; } introduceSelf() { console.log("Hi, I am " + this.name + "!"); } } // Para crear objetos de la clase 'Person' debemos usar 'new' // Instanciar una clase. Al usar new estamos llamando al método reservado 'constructor' let anna:Person=new Person('Anna'); // ¿Qué valor tiene el name de anna? 'Anna' anna.introduceSelf() console.log(anna.name) let john:Person=new Person('John Pi') john.introduceSelf() class Simple { a:string='a' b:string='b' } let foo:Simple=new Simple() class Producto { nombre:string precio:number constructor(nombreProd:string,precioProd:number){ this.nombre=nombreProd; this.precio=precioProd } precioConIva(){ return this.precio*1.21 } } let botijo:Producto=new Producto('Botijo',100) let gaita:Producto=new Producto('Gaita',150) console.log(botijo.precioConIva()) console.log(gaita.precioConIva())
¿Seríais capaces de añadir a Producto una función precioConDescuento que nos devuelva el precio con un 10% de descuento? ¡Seguro que sí!