Opinions on object oriented programming

BlitzMax Forums/BlitzMax Programming/Opinions on object oriented programming

I am personally one of the people who really like oop and like the ways in which it makes the programming process more logical. I would also like to point out one thing about the Object/Handle commands in bb3D and how you can imitate them in blitzMax.

in BB3D you used to do this,
a = CreateFoo()
DoSomethingToFoo(a)

function CreateFoo()
    f.foo = new foo
    f\a = 0
    return Handle(f)
end function

function DoSomethingToFoo(handle)
    f.foo = Object.foo(handle)
    f\a = f\a +1
end function


in blitz max you can do the following (i think because everything is derived from a base object class but i'm not sure)
Type foo
	Field a:Int
End Type

a:Int = MakeFoo()
DoSomethingToFoo(a)


Function MakeFoo:foo()
	f:foo = New foo
	f.a = 0
	Return f
End Function

Function DoSomethingToFoo(f:foo)
	f.a :+ 1
End Function 

now i could be wrong but how does that not give you the same functionality as bb3d's object handle commands.. you're casting the f:foo into a reference integer which is exactly what object handle does