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,
Bài viết này sử dụng AI ChatGPT để viết sau đó được lựa chọn, biên tập lại nội dung, chỉ một phần nhỏ các bài là tôi tự viết. Nội dung thể hiện ý chí cá nhân về các vấn đề, giải pháp. Tôi lưu tại website này để học, tra cứu và chia sẻ.
Tôi là Minh, sống tại Hà Nội, kỹ sư phần mềm với hơn 20 năm kinh nghiệm. Các ngôn ngữ yêu thích của tôi là Swift, Objective-C, Java, Kotlin, .NET, HTML, JavaScript, CSS, Bootstrap, jQuery, AngularJS, Angular…
Các bạn có thể tải app của tôi trên App Store hoặc Google Play:
QuestionBank-Ôn thi vào 10: phiên bản iOS, phiên bản Android
TypingTest by QuestionBank: phiên bản iOS, phiên bản Android
Xin cảm ơn,
Minh