Câu hỏi phỏng vấn Typescript
Câu hỏi

Sự khác biệt giữa ClassesInterfaces trong Typescript là gì?

Câu trả lời

Trong Typescript, Classes và Interfaces đều là những cấu trúc cơ bản hỗ trợ lập trình hướng đối tượng (OOP), nhưng chúng có những đặc điểm và mục đích sử dụng khác nhau.

Classes

Classes trong Typescript là những bản thiết kế chi tiết cho các đối tượng, bao gồm cả thuộc tính và phương thức. Một class có thể chứa đầy đủ cách thức triển khai (implementation) cho các phương thức của nó và có thể khởi tạo để tạo ra các thực thể (instances). Classes hỗ trợ tính kế thừa, cho phép một class con kế thừa các thuộc tính và phương thức từ class cha[2][3].

Interfaces

Interfaces trong Typescript thường được sử dụng như một hợp đồng cho các lớp (classes) hoặc đối tượng, định nghĩa hình dạng của dữ liệu mà không cung cấp cách thức triển khai cụ thể. Một interface chỉ chứa khai báo cho các thuộc tính và phương thức mà không triển khai chúng. Khi một class triển khai (implements) một interface, nó phải cung cấp cách thức triển khai cho tất cả các phương thức được khai báo trong interface đó[1][3].

Sự Khác Biệt Chính

  • Triển khai: Classes cung cấp cả khai báo và triển khai, trong khi Interfaces chỉ chứa khai báo mà không triển khai.
  • Kế thừa và Triển khai: Một class có thể kế thừa từ một class khác và triển khai nhiều interfaces, nhưng một interface chỉ có thể kế thừa từ các interfaces khác, không thể từ một class.
  • Đối tượng và Hàm: Classes có thể tạo ra các đối tượng thông qua từ khóa new, trong khi interfaces không thể tạo ra đối tượng vì chúng không có cách thức triển khai.
  • Sự linh hoạt: Interfaces trong Typescript có thể mô tả hầu hết các loại hình dạn...
junior

junior

Gợi ý câu hỏi phỏng vấn

expert

Khi nào nên sử dụng từ khóa declare trong TypeScript?

middle

Tại sao chúng ta cần sử dụng từ khóa abstract cho các lớp và phương thức của chúng trong TypeScript?

middle

Có thể sử dụng hàm có strongly-typed làm tham số trong TypeScript không?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào