console.log("Hello, world!"); class Libro { //Costruttore constructor(nome, autore, prezzo) { this.nome = nome; this.autore = autore; this.prezzo= prezzo; } static casaEditrice = "Mondadori"; //Getter & setter get nome() {return this.nome;} set nome(n) {this._nome=n;} get autore() {return this._autore;} set autore(n) {this._autore=n;} get prezzo() {return this._prezzo;} set prezzo(p) {this._prezzo=p;} toString() { //questo è un override return ''+this._nome+" (di "+this._autore + ") €"+this._prezzo; } } var ilMioLibro = new Libro("Le mie prigioni", "Silvio Pellico", 4); ilMioLibro.prezzo=11.99; console.log(Libro.casaEditrice); console.log(ilMioLibro.toString()); class LibroConGenere extends Libro { #isbn = 5; //Proprietà privata constructor(nome, autore, prezzo, genere) { //costruttore sottoclassi super(nome, autore, prezzo); // call the super class constructor and pass in the name parameter this.genere=genere; } toString() { //override con chiamata della funzione padre return super.toString()+" - collana "+this.genere+ "ISBN: "+this.#isbn; } } var ilMioLibro2 = new LibroConGenere("Il problema dei tre corpi", "Liu Cixin", 7.90, "fantascienza"); console.log(ilMioLibro2.toString());