On Mon, 7 Jan 2008, Robin Hankin wrote:

> I am writing a package and need to decide whether to use S3 or S4.
>
> I have a single class, "multipol"; this needs methods for "[" and "[<-"
> and I also need a print (or show) method and methods for arithmetic +-
> */^.
>
> In S4, an object of class "multipol" has one slot that holds an array.
>
> Objects of class "multipol" require specific arithmetic operations;
> a,b being
> multipols means that a+b and a*b are defined in peculiar ways
> that make sense in the context of the package. I can also add and
> multiply
> by scalars (vectors of length one).
>
> My impression is that S3 is perfectly adequate for this task, although
> I've not yet finalized the coding.
>
> S4 seems to be "overkill" for such a simple system.
>
> Can anyone give me some motivation for persisting with S4?
>
> Or indeed reassure me that S3 is a good design decision?

Does performance matter?: S4 dispatch is many times slower than S3 
dispatch for such functions. (It is several times slower in general, but 
the difference is particularly marked for primitives.)

-- 
Brian D. Ripley,                  [EMAIL PROTECTED]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to