Sistema di gestione universitaria
Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 55 di 56.
Sfida
In questa sfida, abbiamo un sistema universitario con diversi tipi di persone (studenti, professori) che hanno ruoli e comportamenti diversi.
1. Completa la classe Person:
- Aggiungi il metodo
introduce()che restituisce"Hi, I'm ${name}"
2. Completa la classe Student:
- Sovrascrivi
introduce()per restituire${super.introduce()}, a ${this.major} student. Esempio: "Hi, I'm Alice, a Computer Science student" - Aggiungi il metodo
addGrade(grade)che accetta un voto compreso tra 0 e 100- Convalida: verifica se il voto è compreso tra 0 e 100
- Se valido: aggiungilo all'array
this.grades - Se non valido: registra:
"Grade must be between 0 and 100"
3. Completa la classe Professor:
- Sovrascrivi
introduce()per restituire“Prof. ${name} from ${department}”. Esempio: “Prof. Smith from Computer Science”
Provalo tu
import { Person } from './person.js';
import { Student } from './student.js';
import { Professor } from './professor.js';
// Crea persone
const student1 = new Student('Alice', 20, 'Computer Science');
const prof1 = new Professor('Dr. Johnson', 50, 'Mathematics');
console.log(student1.introduce()); // "Hi, I'm Alice, a Computer Science student"
console.log(prof1.introduce()) // "Prof. Dr. Johnson from Mathematics"
student1.addGrade(85);
student1.addGrade(90);
student1.addGrade(95);
console.log(`${student1.name}'s GPA: ${student1.getGPA()}`); // ~3.6
student1.addGrade(105); // Dovrebbe stampare: "Grade must be between 0 and 100"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 libro9Metodi e proprietà statici
A livello di classe o di istanzaProprietà staticheMetodi statici di utilitàSfida di riepilogo12Getter e Setter
Le parole chiave get e setProprietà calcolateValidazione ed effetti collateraliSfida di riepilogo15Sfide finali
Creazione di personaggi di giocoSistema di prodotti per e-commerceSistema di gestione universitariaSistema di dispositivi per la casa intelligenteEsercitati da solo: Compilatore JavaScript online