Tạo hệ thống quản lý học viên với TypeScript
Tạo một hệ thống quản lý học viên trong TypeScript đòi hỏi mình tạo các lớp để lưu trữ thông tin cơ bản của một người (Person) và các thông tin cụ thể của một học viên (Student). Trong bài viết này, mình sẽ thiết kế các lớp này và hiểu cách thực hiện kế thừa trong TypeScript để quản lý thông tin học viên.
Hệ thống quản lý học viên với TypeScript
Đầu tiên, mình sẽ xây dựng lớp Person để chứa các thông tin cơ bản về một người, sau đó tạo lớp con Student kế thừa từ Person và bổ sung các thông tin học viên cần thiết.
class Person {
constructor(public name: string, public age: number) {}
displayInfo(): void {
console.log(`Name: ${this.name}, Age: ${this.age}`);
}
}
class Student extends Person {
constructor(
name: string,
age: number,
public studentID: number,
public grade: string,
public coursesTaken: string[]
) {
super(name, age);
}
displayStudentInfo(): void {
super.displayInfo();
console.log(`Student ID: ${this.studentID}, Grade: ${this.grade}`);
console.log(`Courses Taken: ${this.coursesTaken.join(", ")}`);
}
}
// Sử dụng lớp Student đã định nghĩa
const student = new Student("Alice", 20, 12345, "A", ["Math", "Science"]);
student.displayStudentInfo();
Giải thích code
class Person { ... }:Định nghĩa lớp Person chứa các thông tin cơ bản của một người, bao gồm name và age.class Student extends Person { ... }:Tạo lớp con Student kế thừa từ lớp Person. LớpStudentcó các thuộc tính cụ thể nhưstudentID,grade, vàcoursesTaken.- Trong hàm
constructorcủa Student, chúng ta gọisuper()để khởi tạo thông tin name và age từ lớp Person. displayStudentInfo():Một phương thức mới của lớp Student để hiển thị thông tin của học viên.
Kết quả
Khi mình chạy đoạn mã trên, sẽ nhận được kết quả sau:
Name: Alice, Age: 20 Student ID: 12345, Grade: A Courses Taken: Math, Science
Trong bài viết này, mình đã tạo lớp Person để chứa thông tin cơ bản và lớp con Student để lưu trữ thông tin cụ thể về học viên. Kế thừa trong TypeScript giúp mình tái sử dụng code một cách linh hoạt và hiệu quả. Bằng cách áp dụng các khái niệm này, chúng ta có thể xây dựng các hệ thống quản lý thông tin phức tạp hơn cho các loại đối tượng khác nhau.
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Tạo quản lý nhân viên với TypeScript
- Tạo hệ thống quản lý học viên với TypeScript
- Tạo lớp Animal với các thuộc tính và phương thức chung cho động vật với TypeScript.
- Tạo lớp cơ sở Component đại diện cho một thành phần giao diện trong TypeScript.
- Tạo quản lý xe với TypeScript
- Tạo lớp hình học với TypeScript
- Xây dựng hệ thống ngân hàng trong Typescript

Các hàm xử lý chuỗi trong Javascript (cắt / tách / nối chuỗi ..)
Chia lấy phần dư / chia lấy phần nguyên trong javascript
Các cách khai báo biến trong Javascript
Các sự kiện (Event) trong Javascript
Hướng tạo thanh search bar bằng CSS
Hàm array.slice() trong Javascript
Tính tổng hai số bằng Javascript (cộng hai số)
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng