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 {
- //fields
- #marca="sconosciuta";
- #modello="sconosciuta";
- #max_velocita = 0;
- constructor (marca, modello) {
- if (marca === undefined) throw new Error('Marca non specificata');
- this.#marca = marca;
- this.#modello = modello;
- Object.seal(this);
- }
- #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;}
- Print() {
- console.log(`${this.#marca} - ${this.#modello} - ${this.#max_velocita}`);
- }
- }
- let auto = null;
- try {
- auto = new Auto("Fiat");
- }
- 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