Làm cách nào để tạo một **abst...
Làm cách nào để tạo một **abst...
Để tạo một lớp trừu tượng trong Objective-C, bạn cần sử dụng một số kỹ thuật vì ngôn ngữ này không hỗ trợ trực tiếp khái niệm lớp trừu tượng như Java hay C#. Dưới đây là một số phương pháp được đề xuất:
Sử dụng phương thức doesNotRecognizeSelector:
: Bạn có thể triển khai các phương thức của lớp trừu tượng bằng cách sử dụng phương thức doesNotRecognizeSelector:
. Phương thức này được gọi khi một đối tượng được yêu cầu thực hiện một phương thức mà nó không có. Bằng cách triển khai phương thức này trong các phương thức "trừu tượng" của lớp, bạn có thể buộc các lớp con phải ghi đè lên các phương thức này. Ví dụ:
- (id)someMethod:(SomeObject*)blah {
[self doesNotRecognizeSelector:_cmd];
return nil;
}
Điều này sẽ gây ra một ngoại lệ tại thời điểm chạy nếu phương thức không được ghi đè trong lớp con[1].
Ngăn chặn việc khởi tạo lớp trừu tượng: Để ngăn chặn việc khởi tạo trực tiếp lớp trừu tượng, bạn có thể ghi đè phương thức init
và sử dụng doesNotRecognizeSelector:
trong đó:
- (id)init {
[self doesNotRecognizeSelector:_cmd];
[self release];
return nil;
}
``...
senior
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào