studied ref name abadicardelli allow subtype polymorphism parametric polymorphism generics attempts find consensus definition theory behind objects proven successful however see abadi cardelli http portalacmorg citationcfmid dl acm coll portal ''a theory objects'' ref name abadicardelli ref formal definitions many oop concepts constructs often diverge widely example definitions focus mental activities program structuring one simpler definitions oop act using map data structures arrays contain functions pointers maps syntactic scoping sugar
Formal science Computer science Programming languages Object-oriented programming