Creare istanze
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 12 di 56.
Dopo aver definito una classe, puoi creare oggetti basati su quella classe usando la parola chiave new. Questi oggetti sono chiamati istanze.
Supponiamo di avere una semplice classe Person:
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
return `Hello, my name is ${this.name}`;
}
}Crea un'istanza della classe Person:
const john = new Person("John", 30);Dopo aver eseguito il codice precedente, john è un'istanza della classe Person con:
- la proprietà
nameimpostata su "John" - la proprietà
ageimpostata su 30
Puoi accedere alle proprietà e ai metodi dell'istanza:
console.log(john.name); // Stampa: John
console.log(john.greet()); // Stampa: Hello, my name is JohnPuoi creare più istanze dalla stessa classe:
const sarah = new Person("Sarah", 25);
console.log(sarah.name); // Stampa: SarahSfida
Ti viene fornita una classe Student. Il tuo compito è creare due istanze di studente nel file driver.js:
- Crea
student1con il nome "Sarah" e il voto 85 - Crea
student2con il nome "Mike" e il voto 92
Provalo tu
import { Student } from './student.js';
// TODO: Crea un'istanza della classe Student chiamata student1 con nome "Sarah" e voto 85
// TODO: Crea un'istanza della classe Student chiamata student2 con nome "Mike" e voto 92
// Codice di test - non modificare
console.log(student1.name); // Dovrebbe produrre "Sarah"
console.log(student2.grade); // Dovrebbe produrre 92Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Programmazione orientata agli oggetti
1Oggetti e la keyword this
Ripasso rapido: oggettiAggiungere metodi agli oggettiCapire la keyword thisFunzioni costruttriciLa keyword newSfida di ripasso7Ereditarietà e parola chiave extends
EreditarietàLa relazione «è un»La parola chiave extendsIl metodo super()Ereditare proprietà e metodiSfida di ripasso13Composizione vs. ereditarietà
«Ha-un» vs. «è-un»I limiti dell’ereditarietà profondaCostruire oggetti2Organizzare il codice
Cosa sono i moduli?Esportare con exportImportare con importExport predefiniti vs. export nominati5Incapsulamento e accesso
IncapsulamentoCampi di classe pubblici e privatiMetodi privatiSfida di riepilogo8Organizzare il codice OOP
Organizzare le classi in moduli11Progetto: Un renderizzatore di forme
Configurazione: classe Shape ed esportazioneEreditarietà della classe CircleOverride e metodo areaContatore statico di Shape14Sistema di gestione della biblioteca
Progettare la bibliotecaClasse Book con composizioneValidazione dell'autore del libroEsercitati da solo: Compilatore JavaScript online