Thiết lập dự án
Thuộc phần Lập trình hướng đối tượng trong hành trình C của Coddy. Bài học 22 trên 61.
Thử thách
DễHãy bắt đầu xây dựng thư viện Bank Account! Ở bước đầu tiên này, bạn sẽ tạo giao diện công khai: tệp tiêu đề định nghĩa các thao tác có sẵn mà không tiết lộ bất kỳ chi tiết triển khai nào.
Bạn sẽ tạo hai tệp để thiết lập nền tảng cho dự án:
account.h: Tệp tiêu đề công khai. Người dùng thư viện sẽ đưa tệp này vào chương trình. Hãy khai báo kiểuAccountmờ bằng khai báo kiểu chưa hoàn chỉnh: không có phần thân struct, chỉ cần khai báo trước để trình biên dịch biết kiểu này tồn tại. Sau đó, khai báo nguyên mẫu hàm chocreate_account(nhận một số nguyên làm ID tài khoản và trả về con trỏ Account) vàdestroy_account(nhận một con trỏ Account và không trả về gì). Đừng quên dùng ký hiệuACCOUNT_Hđể tạo các bảo vệ chống đưa tệp vào nhiều lần.main.c: Tệp kiểm thử đơn giản để xác minh rằng tiêu đề của bạn biên dịch chính xác. Hãy đưa tệp tiêu đề vào chương trình và in ra thông báo xác nhận giao diện đã sẵn sàng. Vì chúng ta chưa triển khai các hàm, chỉ cần in thông báo xác nhận: phần triển khai thực tế sẽ có trong bài học tiếp theo.
Điểm mấu chốt ở đây là tiêu đề cho biết mô-đun Account có thể làm gì (tạo và hủy tài khoản) mà không cho thấy nó lưu trữ dữ liệu nội bộ như thế nào. Bất kỳ ai đưa account.h vào chương trình đều biết kiểu Account tồn tại và những hàm nào có sẵn, nhưng họ sẽ không thể truy cập bất kỳ trường nội bộ nào vì bạn chưa định nghĩa chúng trong tiêu đề!
Tệp chính của bạn cần in ra:
Account interface readyĐây là bước khởi đầu cho hệ thống Bank Account hoàn chỉnh mà bạn sẽ xây dựng trong những bài học tiếp theo. Tiêu đề bạn tạo bây giờ sẽ được mở rộng để bao gồm deposit, withdraw và get_balance khi bạn tiếp tục thực hiện dự án.
Tự làm thử
#include <stdio.h>
#include "account.h"
int main() {
// TODO: In ra thông báo xác nhận giao diện đã sẵn sàng
// Thông báo cần là: "Account interface ready"
return 0;
}
Tất cả bài học trong Lập trình hướng đối tượng
1Kiến thức cơ bản về lập trình mô-đun
Tệp tiêu đềInclude guardTệp mã nguồnHàm staticÔn tập: Máy tính mô-đun4Tính đóng gói
Khái niệm con trỏ mờĐịnh nghĩa struct mờHàm truy xuất và hàm gánKiểm tra tính hợp lệ trong hàm gánÔn tập: Hộp bí mật2Đối tượng và phương thức
Struct dưới dạng đối tượngCon trỏ 'Self'Tính đúng đắn của constCon trỏ và giá trịPhương thức hỗ trợÔn tập: trình quản lý Point5Dự án: Tài khoản ngân hàng đơn giản
Thiết lập dự ánTriển khai tài khoản3Vòng đời đối tượng
Mẫu hàm khởi tạoMẫu hàm hủyKhởi tạo trên ngăn xếpSao chép sâuÔn tập: lớp bao bọc chuỗi6Kế thừa bằng cách kết hợp
Nhúng structQuy tắc thành viên đầu tiênTruy cập thành viên lớp chaUpcastingÔn tập: hệ phân cấp hình dạngTự luyện tập: Trình biên dịch C online