I'm not sure what exactly you are trying to do but if you want the full constructor capabilities of the dataset class you will need to allow your own class to take in a variable number of input arguments. So you'll need to use "varargin".
A second thing that might hold you up (it held me up) is how to pass a variable size cell array to the dataset constructor. You have to use "{:}" on the input.
Here's a very simple example:
classdef ramandataset < dataset
properties
end
methods
function spec = ramandataset(varargin)
spec = spec@dataset(varargin{:});
end
end
end
Heres an exmaple to test this:
data1 = randn(10,1);
data2 = randn(10,1);
ds = ramandataset({data1,'data1'},{data2,'data2'})
I'd start with this and add your custom modifications as you see fit. I'd also expect to overload the subsref and subsasgn functions.
It might take some time to get it all right but its been very worthwhile for my own work. I hope this helps a bit.