### 34.6 `classdef` Classes

Since version 4.0, Octave has limited support for `classdef` classes. In contrast to the aforementioned classes, called old style classes in this section, `classdef` classes can be defined within a single m-file. Other innovations of `classdef` classes are:

- access rights for properties and methods,
- static methods, i.e., methods that are independent of an object, and
- the distinction between value and handle classes.

Several features have to be added in future versions of Octave to be fully compatible to MATLAB. An overview of what is missing can be found at https://wiki.octave.org/Classdef.