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

Sự khác biệt giữa kế thừaCategories trong Objective-C là gì?

Câu trả lời

Kế Thừa (Inheritance)

Kế thừa là một khái niệm cơ bản trong lập trình hướng đối tượng, cho phép một lớp (subclass) kế thừa các thuộc tính và phương thức từ một lớp khác (superclass). Điều này tạo ra một mối quan hệ "is-a", nghĩa là một đối tượng của lớp con cũng là một đối tượng của lớp cha. Kế thừa cho phép tái sử dụng mã nguồn, giúp giảm bớt sự trùng lặp và dễ dàng bảo trì hơn

Categories

Categories trong Objective-C cho phép bạn thêm các phương thức vào một lớp hiện có mà không cần kế thừa từ lớp đó. Điều này rất hữu ích khi bạn muốn mở rộng chức năng của một lớp mà không thể hoặc không muốn kế thừa từ nó. Categories không thể thêm các thuộc tính mới vào lớp nhưng có thể thêm các phương thức mới. Một điểm đặc biệt là các phương thức được thêm bởi categories trở thành một phần của lớp và có thể được kế thừa bởi các lớp con của lớp đó

Sự Khác Biệt Chính

  • Thay đổi kiểu đối tượng: Kế thừa thay đổi kiểu của đối tượng bởi vì lớp con là một kiểu khác so với lớp cha. Trong khi đó, categories không thay đổi kiểu của đối tượng mà chỉ thêm chức năng vào lớp hiện có
  • **Tái sử dụng...
middle

middle

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

senior

Sự khác biệt giữa việc triển khai @property với @dynamic hoặc @synthesize trong Objective-C là gì?

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?

middle

Sự khác biệt giữa ba lớp NSManagedObject, NSManagedObjectContext, NSManagedObjectModel trong CoreData của Objective-C là gì?

Bình luận

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

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