For me object orinted programming or OOP is a way of coding, of course we all learned it in university and alot of us didn't understand it, i am one of those who can never memorize those strange names we learned like polymorphism and link them to its meanning, but i can write full object orinted code, with full meanning for a class and its properties.
however there is alot of problems facing coding in OOP, like working with those who don't follow it, or following standards that don't support it, but still the most problem is in understanding what a program is for and what sub systems it have.
OOP is not just writting code like "class car : fruit {}" it is also in the way the program is constructed like its libraries and sub systems.
this is an open discussion about what is OOP?, how should it be used?, what are the general mistakes done by developers while implementing OOP?
Mahmoud Darwish, Software Developer.( ASP.NET, VC#, AJAX, XML, VB.NET)