IMHO, you can learn objects in any language but don't stop there go and see other languages too. All the implementations differ from each other and each one of them impose different constrains. i.e. Barebones Perl5 ( no Moose ) doesn't have attribute introspection or distinction between class/instance methods. Java on the other side doesn't support Multiple-Inheritance and you can't add attributes on the fly ( you can do that in Perl ).
Learning objects is something that is not easy at all, it a shift in the way you see things. And usually I see the following pitfalls with people learning objects
- Gigantic methods
- Copy & Paste code among different classes
- Poor cohesion
- A depth inheritance tree
The point is that it is common - specially when you start with a new paradigm - to try to do things in the old way ( and maybe not the most efficient way in the new paradigm ) so you might feel frustrated but don't worry it's just a matter of time and learning