Object-based programming, as opposed to object-oriented programming, is a programming paradigm that is centered around the creation of objects and their interactions, but may not have some of the key features of the object-oriented paradigm such as inheritance, encapsulation, or polymorphism, though these features may be able to be emulated in some fashion.

Some languages such as C are unable to inherently provide object oriented capabilies, however with structs, classes are able to be emulated, with function pointers, member functions to clases are able to be created, however, features such as inheritance are difficult to emulate.

Haskell is another programming language that is not strictly object-oriented: classes as abstract datatypes are able to created, Haskell modules provide some class behavior, but objects based on this "class" are not able to be created.

The Gtk toolkit, written in C, is an example of a toolkit is object-based, but not object oriented.

This article is a stub. You can help Wikipedia by fixing it.