Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Khác biệt giữa Object và Class trong C++

Bài viết này giải thích sự khác biệt giữa đối tượng (object) và lớp (class) trong C++.

Class trong C++

  • Khối xây dựng mã để triển khai lập trình hướng đối tượng
  • Kiểu dữ liệu do người dùng định nghĩa
  • Chứa thành viên dữ liệu (data members) và hàm thành viên (member functions)
  • Truy cập qua instance (đối tượng) của class
  • Dùng để thao tác biến, định nghĩa thuộc tính hành vi của đối tượng
  • Là bản thiết kế (blueprint) cho object
  • Ví dụ: Class Employee có thuộc tính: tên, tuổi, ngày sinh, chức danh... (data members). Hàm: draw_salary(), get_promotion() (member functions)
  • Định nghĩa bằng từ khóa class
  • Thân class trong ngoặc nhọn, kết thúc bằng dấu chấm phẩy
class class_name {
    // body_of_class
};

Object trong C++

  • Là instance (thể hiện) của một class
  • Khi định nghĩa class, bộ nhớ chưa được cấp phát
  • Khi tạo object, bộ nhớ được cấp phát cho tất cả thuộc tính
  • Khi class được định nghĩa, các đặc điểm của object được xác định
  • Để sử dụng class, phải tạo object
  • Cú pháp: class_name object_name;
  • Truy cập data members và member functions qua toán tử chấm (.)
  • Ví dụ: object_name.member_function()
  • Public members truy cập trực tiếp bằng toán tử chấm
  • Private members không truy cập trực tiếp được
  • public, private, protected là bộ kiểm soát truy cập
  • Hàm thành viên định nghĩa bên trong class mặc định là inline
  • Hàm inline: mở rộng ngay tại chỗ gọi, giảm overhead
  • Hàm non-class có thể làm inline bằng từ khóa inline