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ớpStudent
có các thuộc tính cụ thể nhưstudentID
,grade
, vàcoursesTaken
.- Trong hàm
constructor
củ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