Object oriented software construction from Bertrand Meyer is good if you can bear the writings about the superiority of Eiffel against whatever.
Then there is Object Oriented programming in Common Lisp which shows a complete different approach.
Howerver I can not name any book which treats object-orientation negativly. I do not feel this is "appropriate". Wirth books have read "data structures and algorithms" and well OO is more or less about the first part (if you subtract the "blocks" objects e.g in Smalltalk, Ruby, Io etc), the algorithm page is often under represented in any OO book.
You will learn about how to derive objects and the like so in facts you see mostly guidelines for handling Data structures, algorithms often get tucked upon. In this way
(pseudo code)
class ACTION
feature do_something....
endclass
class FOO_ACTION inherit ACTION
redefine do_something ...
endclass
class BAR_ACTION inherit ACTION...
endclass
This is a "trap" in which quite a few class-libraries step in...
However my recommodation would be looking at langauges beeing "pure-OO" as e.g Smalltalk, if you look at hybrid languages you've to see the non OO-stuff tagged on it. C++ is an especially prominent example for the later. You'll find thousans of books about C++, but you can use C++ to write C with a bit more comfort....
Regards
Friedrich