Object oriented programming offers many advantages to neural network simulators. Strong typing, information hiding, and overloading are qualities well suited for neural net simulation. Additionally, object orientation decomposes a simulator into basic building blocks, which can be easily broken up and distributed. The design of the classic neural net lends itself readily to object orientation. Nodes and connections are prime examples of basic components that the neural net can be broken into.
Data hiding is a both a welcome and needed feature for both nodes and connections.
This allows for strictly controlled access activation and error values for nodes, as well as, controlled access to the weight and learning parameters for individual connections. Method overloading of also enhances the neural net. Differing back propagation functions can be quite useful for hidden and output nodes. This also allows for easy future enhancement of any object-oriented system constructed. Moreover, the modularity introduced is a desirable feature for any application.