Menu
CoddyTech

Hệ thống quản lý đại học

Thuộc phần Lập trình hướng đối tượng trong hành trình JavaScript của Coddy. Bài học 55 trên 56.

challenge icon

Thử thách

Trong thử thách này, chúng ta có một hệ thống đại học với nhiều kiểu người khác nhau (sinh viên, giáo sư), mỗi kiểu có vai trò và hành vi riêng.

1. Hoàn thành lớp Person:

  • Thêm phương thức introduce() trả về "Hi, I'm ${name}"

2. Hoàn thành lớp Student:

  • Ghi đè introduce() để trả về ${super.introduce()}, a ${this.major} student. Ví dụ: "Hi, I'm Alice, a Computer Science student"
  • Thêm phương thức addGrade(grade) nhận điểm từ 0 đến 100
    • Kiểm tra hợp lệ: Kiểm tra xem điểm có nằm trong khoảng từ 0 đến 100 không
    • Nếu hợp lệ: Thêm điểm vào mảng this.grades
    • Nếu không hợp lệ: In ra: "Grade must be between 0 and 100"

3. Hoàn thành lớp Professor:

  • Ghi đè introduce() để trả về “Prof. ${name} from ${department}”. Ví dụ: “Prof. Smith from Computer Science”

Tự làm thử

import { Person } from './person.js';
import { Student } from './student.js';
import { Professor } from './professor.js';

// Tạo các đối tượng người
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); // Sẽ in ra: "Grade must be between 0 and 100"

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Trình biên dịch JavaScript online