30/09/2018, 18:33

Struct và class khác nhau như thế nào?

Struct :

  • Struct là kiểu dữ liệu tham trị được lưu trong Stack.
  • Struct không hỗ trợ kế thừa
  • Khi struct được khởi tạo với từ khóa new, khi đó một constructor (hàm khởi tạo) được gọi để khởi tạo các trường trong cấu trúc.
  • Khi struct được khởi tạo không dùng từ khóa new thì không có constructor(hàm khởi tạo) được gọi, do vậy người dùng cần khởi tạo tất cả các trường trước khi sử dụng.
  • Struct phù hợp với các cấu trúc dữ liệu nhỏ
    Classs :
  • Class là kiểu dữ liệu tham chiếu được lưu trong heap.
  • class có hỗ trợ kế thừa.
  • class phù hợp với các cấu trúc dữ liệu phức tạp.

mong mọi người đính chính lại và bổ sung thêm !!! xin cám ơn

Dương Tiến Thịnh viết 20:35 ngày 30/09/2018

Mình hiểu thì struct chỉ chứa dữ liệu, class thì mở rộng hơn, ngoài chứa dữ liệu nó còn chứa các hàm xử lý các dữ liệu đó.

Nguyễn Quang Khải viết 20:37 ngày 30/09/2018

Struct với class ko phải được lưu ở stack hay là heap đâu, object của nó được lưu ở stack hoặc heap, phụ thuộc vào việc cấp phát của mình.
Struct cũng có kế thừa, đa hình, trừu tượng, rất giống class, chỉ khác ở phạm vi hoạt động mặc định của class là private còn struct thì là public.

Bài liên quan
0