Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Classi</title>
- </head>
- <body>
- <script>
- 'use strict';
- class Auto {
- static #conta_auto = 0;
- static get conta_auto() {return this.#conta_auto;}
- //fields
- #marca="sconosciuta";
- #modello="sconosciuta";
- #max_velocita = 0;
- var_classe_madre="madre";
- get var_classe_madre() {return this.var_classe_madre;}
- constructor (marca, modello, massima_velocita) {
- if (marca === undefined) throw new Error('Marca non specificata');
- this.#marca = marca;
- this.#modello = modello;
- this.max_velocita = massima_velocita;
- //Object.seal(this);
- Auto.#conta_auto++;
- }
- #sendMail() {console.log('email inviata')};
- //setter tradizionale
- Set_max_velocita(nuovaVelocita){
- if (nuovaVelocita>100) this.#max_velocita = nuovaVelocita;
- }
- //getter tradizionale
- Get_max_velocita() {return this.#max_velocita;}
- set max_velocita(nuovaVelocita) {
- if (nuovaVelocita>100) this.#max_velocita = nuovaVelocita;
- }
- get max_velocita() {return this.#max_velocita;}
- Scheda() { return `${this.#marca} - ${this.#modello} - ${this.#max_velocita}`; }
- }
- class AutoSportiva extends Auto {
- etaMinima = 18;
- constructor(marca) {
- super(marca);
- }
- Scheda() { return `${super.Scheda()} - ${this.etaMinima} - ${super.var_classe_madre}`};
- }
- const autoSportiva = new AutoSportiva("Fiat");
- console.log(autoSportiva.Scheda());
- // let auto = null;
- // let parco_auto = null;
- // try {
- // console.log('#'+Auto.conta_auto+'#');
- // auto = new Auto("Fiat", "500", 120);
- // parco_auto = [new Auto("Fiat", "500", 120), new Auto("Fiat", "500", 120), new Auto("Fiat", "500", 120)];
- // console.log('#'+Auto.conta_auto+'#');
- // }
- // catch (eccezione)
- // {
- // console.log(eccezione.message);
- // }
- // if (auto !==null)
- // {
- // //auto.#marca = ""; //vietato: field privato
- // //auto.paperino = "slakjfljfd"; //vietato: oggetto sealed
- // //console.log(auto);
- // //auto.#sendMail(); //no, privato
- // //auto.Set_max_velocita(130);
- // //auto.max_velocita = 130;
- // //console.log(auto.max_velocita);
- // //auto.Print();
- // }
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement