File .h
và .m
là hai loại tệp trong ngôn ngữ lập trình Objective-C, và chúng đóng vai trò quan trọng trong việc tạo và triển khai các lớp và đối tượng. Dưới đây là so sánh giữa file .h
(header file) và .m
(implementation file):
Mục Lục
File .h (Header File):
- Mục Đích:
- Định nghĩa giao diện: Chứa khai báo của lớp, thuộc tính, và phương thức mà các phần mã nguồn khác có thể gọi.
- Kiến trúc công cộng: Các thành phần trong file
.h
thường là công cộng và có thể được truy cập từ các lớp khác hoặc từ mã nguồn bên ngoài.
- Khai Báo Lớp:
- Khai báo lớp thông qua từ khóa
@interface
. - Nếu có, khai báo các thuộc tính và phương thức công khai.
- Khai báo lớp thông qua từ khóa
- Khai Báo Thuộc Tính và Phương Thức:
- Định nghĩa các thuộc tính và phương thức mà lớp cung cấp cho bên ngoài.
- Import Thư Viện Khác:
- Sử dụng
#import
để nhập các thư viện và file header khác mà lớp cần sử dụng.
- Sử dụng
File .m (Implementation File):
- Mục Đích:
- Triển khai chi tiết: Chứa chi tiết triển khai của các phương thức được khai báo trong file
.h
. - Kiến trúc ẩn: Các thành phần trong file
.m
thường là ẩn và không được trực tiếp gọi từ mã nguồn bên ngoài.
- Triển khai chi tiết: Chứa chi tiết triển khai của các phương thức được khai báo trong file
- Khai Báo Biến Thành Viên:
- Khai báo và triển khai biến thành viên bên trong cặp dấu
{}
.
- Khai báo và triển khai biến thành viên bên trong cặp dấu
- Triển Khai Phương Thức:
- Sử dụng
@implementation
để triển khai chi tiết của các phương thức. - Triển khai logic và các bước cụ thể của từng phương thức.
- Sử dụng
- Import File Header Tương Ứng:
- Sử dụng
#import
để nhập file.h
tương ứng để có thể sử dụng khai báo của lớp và các phương thức từ file.h
.
- Sử dụng
- Import Thư Viện Khác:
- Sử dụng
#import
để nhập các thư viện và file header khác mà lớp cần sử dụng.
- Sử dụng
Tương Quan Giữa File .h và .m:
- Liên Kết:
- File
.h
và.m
liên quan chặt chẽ với nhau. File.h
định nghĩa giao diện, trong khi file.m
triển khai chi tiết. - Bất kỳ thay đổi nào trong file
.h
(như thêm một phương thức mới) cần phải được ánh xạ đúng trong file.m
.
- File
- Sự Riêng Biệt:
- File
.h
chủ yếu chứa khai báo và không chứa triển khai chi tiết của các phương thức. - File
.m
chứa triển khai chi tiết và có thể chứa cả biến thành viên và các phương thức riêng tư.
- File
- Tính Tương Thích Đa Nền Tảng:
- File
.h
thường là những phần của mã nguồn có thể được chia sẻ giữa nhiều tệp triển khai (ví dụ: triển khai cho iOS và macOS). - File
.m
thường chứa mã nguồn cụ thể cho một nền tảng cụ thể.
- File
Trong tổ chức dự án Objective-C, sự phân chia giữa file .h
và .m
giúp tạo ra một kiến trúc modul và giữ cho mã nguồn dễ hiểu và bảo trì.
Xin chào,
99,99% nội dung trên website này là nhờ hỏi ChatGPT, rồi mình biên tập lại để dễ hiểu và dùng lâu dài. Một vài bài tự viết, còn lại là “làm việc nhóm với AI”
Mình lưu tại đây để tra cứu, học tập và chia sẻ với bạn bè. Nếu bạn tìm được gì hữu ích, cứ đọc thoải mái – miễn phí, không quảng cáo.
Mình cũng có vài app cá nhân:
QuestionBank – Ôn thi vào 10 (iOS, Android)
TypingTest by QuestionBank (iOS, Android)
Cảm ơn bạn đã ghé qua!