Oren wrote:arborint wrote:My point is that creating classes and object does not necessarily mean that you are using OOP.
Oh, ok I see what you are trying to say now. What means that I'm using OOP then?
It can't be explained fully...
It, like anything complicated, takes time and more importantly experience...
OOP is a paradigm...methodology...idealogy...and so on...
It's a further abstraction from the machines we program...
When used properly it makes code more reusable, understandable, organzied, etc...
It's no hidden secret that a complicated problem can be broken into smaller more understandable parts, which OOP lends it self to nicely, more so than procedural does.
The concept of an object suggests reuse...think components on a car...
A caliper can quickly and easily be replaced, along with it's Rotors, pads, shoes, etc...
Because a car is componentized, when something breaks, it's replaced easily as opposed to buying a new car.
OOP and components are leading software development towards that same goal...
The most important thing when learning OOP is probably proper object discovery...
Looking at a problem and breaking that problem into smaller problems and so on...Solving those problems using classes and discovering how each of those classes may or may not interact and how they should interact (is a versus has a relationships).
Cheers
