It's possible to do object oriented programming in Mathematica, as shown by Roman Maeder, quite some time ago.
http://library.wolfram.com/infocenter/Articles/3243/
There is also an add-on package called Objectica which does object oriented programming in a more efficient manner than Roman Maeder's approach, which was mainly designed to illustrated the principles.
However, Mathematica supports procedural, functional and rule-based programming, which is sufficient for any problem.