https://www.w3schools.com/js/js_class_intro.asp
https://code.tutsplus.com/tutorials/typescript-for-beginners-part-4-classes–cms-29565
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | // 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í!