R2008a

The software industry has evolved considerably since the early 1990s, when MATLAB® object-oriented programming features were first developed. For example, design patterns using objects are now commonplace. Over the intervening years, MathWorks developers have learned a great deal about how programmers use objects and what capabilities they require. A key goal in updating the object-oriented programming capabilities of MATLAB in R2008a was to apply some of these lessons while remaining true to three core principles of the MATLAB language: the centrality of arrays and array indexing, the importance of mathematical functions, and the use of multiple named input and output parameters. For experienced object-oriented programmers, this article explains the rationale behind some of the MATLAB design decisions in R2008a, including why MATLAB object-oriented features differ in significant ways from other popular object-oriented languages. In particular, this article examines methods and parameters, inheritance, handles, properties, and object lifecycle management.