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());
Comments