Trong ngôn ngữ Objective-C, @interface
được sử dụng để định nghĩa giao diện của một lớp, cũng như khai báo các thuộc tính và phương thức mà lớp đó cung cấp. @interface
cung cấp thông tin về cách một đối tượng của lớp đó có thể tương tác với bên ngoài. Dưới đây là một tổng quan về cú pháp của @interface
:
Mục Lục
Cú Pháp Cơ Bản:
@interface ClassName : SuperclassName <Protocols>
// Properties and methods go here
@end
@interface
: Từ khóa bắt đầu khai báo giao diện của một lớp.ClassName
: Tên của lớp mà bạn đang định nghĩa.: SuperclassName
: (Tùy chọn) Tên của lớp cha mà lớp hiện tại kế thừa từ.<Protocols>
: (Tùy chọn) Danh sách các giao thức mà lớp tuân thủ.
Ví Dụ:
@interface Car : NSObject <SpeedControl, FuelEfficiency>
// Properties and methods go here
@end
Thuộc Tính (Properties):
- Khai Báo:
@property (attributes) type propertyName;
@property
: Bắt đầu khai báo một thuộc tính.attributes
: Thuộc tính và quy tắc của thuộc tính.type
: Kiểu dữ liệu của thuộc tính.propertyName
: Tên của thuộc tính.
Ví Dụ:
@property (nonatomic, strong) NSString *model;
Phương Thức (Methods):
- Khai Báo:
- (returnType)methodName;
-
: Phương thức đối tượng (instance method).+
: Phương thức lớp (class method).returnType
: Kiểu dữ liệu của giá trị trả về (nếu có).methodName
: Tên của phương thức.
Ví Dụ:
- (void)startEngine;
+ (void)info;
Biến Thành Viên (Instance Variables):
- Khai Báo:
{
// Instance variables go here
}
Ví Dụ:
{
NSInteger speed;
NSString *color;
}
Mục Đích:
- Định Nghĩa Lớp:
@interface
giúp định nghĩa cấu trúc và các thành phần chính của một lớp.
- Khai Báo Thuộc Tính và Phương Thức:
- Khai báo các thuộc tính và phương thức mà lớp cung cấp cho bên ngoài.
- Tương Thích Đa Nền Tảng:
- Cho phép khai báo phần chung của một lớp, có thể được sử dụng trên nhiều nền tảng (ví dụ: iOS và macOS).
Lưu Ý Quan Trọng:
@interface
được đặt trong file.h
của một lớp.- Trong mô hình quy trình của Objective-C,
@interface
thường được kết hợp với@implementation
trong file.m
để định nghĩa hoàn chỉnh một lớp.
Tóm lại, @interface
là một phần quan trọng trong việc định nghĩa cấu trúc và giao diện của một lớp trong Objective-C.
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!