5.1.6 Tất cả những thứ này để làm gì ?

Bạn cần phải biết những điều kỳ lạ này là để làm gì và làm thế nào để sử dụng chúng.

Lập trình hướng đối tượng là nghệ thuật xác định và mở rộng các class. Class là một mô hình của một phần rất cụ thể của thực tế phản ánh các đặc tính và hoạt động được tìm thấy trong thế giới thực. Các class được xác định ở phần đầu là quá chung chung và không chính xác để bao hàm số lượng lớn các trường hợp thực tế. Nhưng không có lý do gì bạn không thể định nghĩa các class mới, cụ thể hơn. Nó sẽ có thể thừa hưởng tất cả mọi thứ từ superclass (base class) của nó, vì vậy việc tạo ra nó sẽ dễ dàng hơn. Class mới có thể thêm các thuộc tính mới và các hoạt động mới và do đó có thể hữu ích hơn trong các ứng dụng cụ thể. Rõ ràng, bạn có thể sử dụng nó như là một superclass cho bất kỳ số class con mới được tạo ra.

Class bạn tạo ra chưa liên quan gì đến việc tạo ra đối tượng: sự tồn tại của một class không có nghĩa là đối tượng sẽ được tạo tự động. Bản thân class không thể tạo ra một đối tượng – bạn phải tự tạo ra nó.

Bây giờ là lúc để cho bạn thấy làm thế nào để định nghĩa class đơn giản nhất và cách tạo một đối tượng. Hãy xem ví dụ bên sau →

class OurClass {};

Chúng tôi đã định nghĩa một class. Class khá nghèo nàn: nó không có thuộc tính hay hoạt động. Điều đó không quan trọng lúc này. Định nghĩa bắt đầu với lớp từ class. Từ khoá được theo sau bởi một định danh tên class (lưu ý: không nhầm lẫn nó với tên của đối tượng – đây là hai cái khác nhau). Tiếp theo, bạn thêm một cặp ngoặc nhọn. Các nội dung bên trong các xác định tất cả các thuộc tính và các hoạt động.

Dấu ngoặc nhọn của chúng tôi trống rỗng, class cũng trống rỗng.

Class mới được định nghĩa sẽ trở thành một kiểu dữ liệu, và chúng ta có thể sử dụng nó như một tên kiểu. Hãy tưởng tượng rằng chúng ta muốn tạo ra một đối tượng của lớp OurClass. Chúng ta làm điều đó theo cách sau →

OurClass our_object;

Chúng ta hãy tạm dừng nói về class một chút. Chúng tôi sẽ giới thiệu cho bạn biết một chút về ngăn xếp (stack).