Object Oriented Programming
- Tags
- soft-eng
Is a model of programming based on the use of classes.
A class is a blueprint for an object. An object is an instance of a class. Object oriented programming makes heavy use of the concept of generalisation, with classes striving to implement the smallest amount of code needing to fulfil their purpose. More general, or not directly applicable behaviour, is implemented in higher level classes or mixins and then inherited from in the base class.
An OOP language is language supporting a style with collections of objects that interact with each other.
Relation to State Machine Modelling
The concept of classes can [see page 20, relate] directly to state-machines. The child must always exist in the same state as its parent and must respond to the same transitions as its parent (not necessarily in the same way). The child can introduce new states but these should always by sub-states of its parent states (for compatibility).
Note: It's possible to define children that are incompatible.