[Rd] S4 accessors
Seth Falcon
sfalcon at fhcrc.org
Tue Sep 26 06:53:13 CEST 2006
Ross Boylan <ross at biostat.ucsf.edu> writes:
> The code has a couple of decisions for which I could imagine
> alternatives. First, even simple get/set operations on class elements
> are wrapped in functions. I suppose I could just use myinstance at slot to
> do some of these operations, though that is considered bad style in more
> traditional OO contexts.
I like the get/set approach as opposed to using '@'. As long as users
don't use '@' you have a fair amount of flexibility to
redesign/refactor your code.
> Second, even though the functions are tied to the class, I've defined
> them as free functions rather than methods. I suppose I could create a
> generic that would reject most arguments, and then make methods
> appropriately.
If anyone else is going to extend your classes, then you are doing
them a disservice by not making these proper methods. It means that
you can control what happens when they are called on a subclass.
> For the documentation, I've created a single page that groups many of
> the functions together. This is a bit awkward, since the return values
> are necessarily the same. Things are worse for replacement functions;
> as I understand it, they must use "value" for their final argument, but
> the value has different meanings and types in different contexts.
>
> Any suggestions or comments?
For accessors, I like to document them in the methods section of the
class documentation.
+ seth
--
Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center
http://bioconductor.org
More information about the R-devel
mailing list