I suggest you to start Python in writing about OOP. Python is an interpreted language that can let you scan the output quickly, or even view your objects, functions, and instances.
Eg.
PHP Code:
>>> class poymode(object):
... def __init__(self, name):
... self.__name = name
>>> poymode
<class '__main__.poymode'>
>>> x = poymode()
Traceback (most recent call last):
File "<interactive input>", line 1, in ?
TypeError: __init__() takes exactly 2 arguments (1 given)
Hope you got my point… other programming languages requires you to write few more lines, lets you do some compilation before you can test… the way Python interprets your code and reply is very simple and direct to the point. Python does not have so called “Private” (attributes or methods) but it can implemented use “__” double underscore. Meaning any variables start with “__” is private. And there’s a lot more to discuss.
Sometimes I’m required to write C++ OOP code, not C (it’s far from the reality that they are the same especially if you talk about OOP). But before I do that, I code it in Python sometimes… and yes, it helps me a lot.
You see the beauty of C and how powerful is C++ (and how it can let someone head’s blow). Learning OOP is not easy… it can guarantee you either you can used it right away or as soon as you learn on its basic. There are a lot of books out there that talks about “Design Patterns” please research on this… I suggest you to read this, as soon as you get into real job that strictly apply “OOP”. But the most effective way, is to study and let somebody else to understand with your teaching abilities. The more you teach the more you likely to learn...
They said that real programming starts OOP, which absolutely not TRUE… without knowledge of OOP you can still code and program… but it will limit your capabilities. You won’t be able to read some modules, built-in classes, an intermediate C++ programmer can’t even read exactly how MFC is being structured… so do I… my goodness…. I often ask myself, how those guys create a horrible OOP! Looks so horrifying to me coz hardly to understand…. And I have no choice but to buy some books read some documentation overnight! Think about “GoF” (Gang of Four –Design Patterns) Maybe you’ll find yourself reading that someday, but take it slow… you can’t hit 10 birds in 1 bullets.
Learning about assignments, functions, loops, basic input and output, calling some built-in functions are just basics… OOP is the way to use the heart of the system, combining it with your algorithm and analytical skills, that’s why before you go taking up the OOP in any programming languages, you have to LOVE how it syntax, string manipulation, coding conventions are being used and applied… but again, it’s good to know and use any kind of languages, try them, until you feel which one you gonna like and love.