Câu hỏi phỏng vấn Objective-C
Câu hỏi

Những hạn chế và vấn đề bạn có thể gặp phải với categories trong Objective-C là gì?

Câu trả lời

Mặc dù categories trong Objective-C cung cấp một cách mạnh mẽ để mở rộng chức năng của các lớp hiện có mà không cần phải kế thừa từ chúng, nhưng cũng có một số hạn chế và vấn đề mà bạn có thể gặp phải khi sử dụng chúng:

  1. Không thể thêm biến thể hiện mới: Bạn không thể sử dụng categories để thêm các biến thể hiện mới vào một lớp. Categories chỉ cho phép bạn thêm các phương thức mới
  2. Vấn đề về xung đột tên phương thức: Nếu tên của một phương thức trong category trùng với tên của một phương thức trong lớp gốc hoặc một category khác trên cùng một lớp, thì hành vi của chương trình tại thời điểm chạy sẽ không xác định được phương thức nào sẽ được sử dụng. Điều này có thể dẫn đến các vấn đề không mong muốn và khó khăn trong việc gỡ lỗi.
  3. Không thể thêm hoặc ghi đè các thuộc tính: Mặc dù bạn có thể khai báo các thuộc tính trong một category, nhưng bạn không thể thêm các biến thể hiện mới để lưu trữ giá trị cho chúng, và bạn cũng không thể tự động tạo các phương thức truy cập (accessors) cho chúng như ...
middle

middle

Gợi ý câu hỏi phỏng vấn

senior

Sự khác biệt giữa NSMapTableNSDictionary trong Objective-C là gì?

middle

Tại sao delegate trong Objective-C không bao giờ được giữ lại?

senior

Trong Objective-C, khi bạn gọi một phương thức trên một con trỏ nil, điều gì sẽ xảy ra?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào