Câu trả lời:
Trong C#, class và struct là hai cách để định nghĩa các kiểu dữ liệu tùy chỉnh. Dưới đây là một số khác biệt chính giữa chúng:
1. Class
– Class là kiểu tham chiếu (reference type). Khi bạn tạo một đối tượng từ một class, biến sẽ tham chiếu đến vùng nhớ trong heap.
– Class hỗ trợ kế thừa (inheritance) và đa hình (polymorphism), cho phép bạn tạo các hiệu ứng kế thừa và ghi đè phương thức.
– Class có thể có các thành viên static (thuộc tính và phương thức) và không cần khởi tạo đối tượng để truy cập chúng.
– Class thường được sử dụng cho các đối tượng có thể thay đổi và phức tạp.
2. Struct
– Struct là kiểu giá trị (value type). Khi bạn tạo một biến từ một struct, giá trị được lưu trữ trực tiếp trong stack.
– Struct không hỗ trợ kế thừa và đa hình và không thể kế thừa từ một struct khác.
– Struct không thể chứa các thành viên static.
– Struct thường được sử dụng cho các đối tượng nhỏ gọn và có thể thay đổi ít.
Bạn nên sử dụng class khi cần làm việc với đối tượng phức tạp và cần hỗ trợ kế thừa và đa hình. Trong khi đó, struct thường thích hợp cho các kiểu dữ liệu nhẹ và không cần tính năng kế thừa và đa hình.
- APA:
Dammio. (2023). Câu hỏi: Có khác biệt gì giữa class và struct trong C#?. https://www.dammio.com/2023/09/22/cau-hoi-co-khac-biet-gi-giua-class-va-struct-trong-c.
- BibTeX:
@misc{dammio,
author = {Dammio},
title = {Câu hỏi: Có khác biệt gì giữa class và struct trong C#?},
year = {2023},
url = {https://www.dammio.com/2023/09/22/cau-hoi-co-khac-biet-gi-giua-class-va-struct-trong-c},
urldate = {2025-05-02}
}