Brad Cox và bạn bè đã thêm một lớp Smalltalk mỏng lên trên C.
Do đó, Objective-C có nhiều điểm tương đồng với phong cách gửi tin nhắn rất năng động của Smalltalk so với C ++.
Một điểm khác biệt chính là trong Objective-C, bạn không quá lo lắng về thứ gì đó là gì: bạn quan tâm đến những thông điệp gì đó hiểu. Bạn có thể có các đối tượng thay đổi tập hợp các thông điệp mà họ hiểu, trong thời gian chạy.
Phải nói rằng hai ngôn ngữ có những ý tưởng rất khác nhau về OO là gì, nhiều ý tưởng / nguyên tắc vẫn được chia sẻ: kế thừa, ủy quyền, đa hình, v.v. Bạn sẽ dễ dàng tìm thấy nhiều ví dụ về các mẫu OO khác nhau trong mã được viết bằng một trong hai ngôn ngữ.
virtual
: Một đối tượng thậm chí không cần hiểu một thông điệp để xử lý nó. Nó có thể lặng lẽ chuyển tiếp tin nhắn đến một số đối tượng nội bộ có thể hiểu tin nhắn, cho phép ủy quyền minh bạch để hỗ trợ, giả sử, lười tải một thể hiện từ cơ sở dữ liệu.