Talk:Object-oriented programming: Difference between revisions

Content deleted Content added
comment to Taku
No edit summary
Line 105:
 
The dispute between us is not about the definition of OOP. I think we agree well enough on that paradigm and the elements section described in this article. My disagreement is with you saying that a structured programming design (the Windows API) was originally designed as an OOP design. The two are different concepts. OOP includes structured programming as one of its component concepts but that doesn't make all structured design OOP design. [[User:JamesDay|JamesDay]] 20:48, 25 Oct 2003 (UTC)
 
----
Hope I'm not entering a hot-bed or starting a fire-storm. I made changes to the basic definition of OOP. I've studied OOP (in college and outside) and taught OOP (to corporate and government clients) over the past 20 years, and the consensus I have always found was OOP means: 1.) use of objects (duh; this often goes unstated), 2.) abstraction (yes, its used elsewhere but OOP requires), 3.) encapsulation, 4.) polymorphism (I added this; wasn't there; how could it be forgotten? OOP absolutely requires this), and 5.) inheritance (yes object-based can omit inheritance, but OOP requires.)
 
I dropped "reusability" because it is more of a "state of mind" than a tenet of OOP. Yes OOP encourages reusability, but my reusable component may not be sufficient for someone else, so reusability is something you approach, not something you are. We can look at the other items (abs,enc,poly,inh) and say definitively (in most cases; I'm sure some wise-a** can find an obscured example to the contrary) that a given language either does or does not have those attributes.
 
So, I hope my thinking is not off base and you like my edits (enough to keep them :)
 
[[User:MikeSchinkel|MikeSchinkel]] 02:19, 26 Oct 2003 (UTC)