Brad Cox and friends added a thin layer of Smalltalk on top of C.
Objective-C thus has much more in common with Smalltalk's highly dynamic message-sending style OO than C++'s.
One major difference is that in Objective-C you don't worry too much about what class something is: you care about what messages something understands. You can have objects that change the set of messages they understand, at runtime.
Having said that the two languages have very different ideas of what OO is, many ideas/principles are still shared: inheritance, delegation, polymorphism, and so on. You'll easily find many examples of the various OO patterns in code written in either language.