Object-oriented programming: Difference between revisions

Content deleted Content added
No edit summary
Line 151:
There have been several attempts at formalizing the concepts used in object-oriented programming. The following concepts and constructs have been used as interpretations of OOP concepts:
 
 
{{col-begin}}
{{col-3}}
*[[F-Coalgebra|coalgebraic datatype]]s
*[[existential quantification]] and [[Module (programming)|module]]s
{{col-3}}
*[[recursion]]
*[[Record (computer science)|records]] and [[record extension]]s
{{col-3}}
*[[F-bounded polymorphism]]
{{col-end}}
 
Attempts to find a consensus definition or theory behind objects have not proven very successful, and often diverge widely. For example, some definitions focus on mental activities, and some on mere program structuring. One of the simpler definitions is that OOP is the act of using "map" data structures or arrays that can contain functions and pointers to other maps, all with some syntactic and scoping sugar on top. Inheritance can be performed by cloning the maps (sometimes called "prototyping").