Absolutely.

And frankly, this makes huge since.  A linear operator is a generalization
of a matrix which should have *fewer* details than a matrix.  Having
implementation details of the linear operator dictate function of the matrix
is perverse.  Likewise, having any operation in the linear operator be final
is similarly perverse since over-riding of linear operator operations is
*exactly* what is expected.

My guess is that the final declarations came out of an attempt to avoid
warnings by over zealous code inspectors that allowing getters and setters
of private fields to be over-ridden is dangerous.  The warning is correct.
 The response was not.  The correct response is to not have the private
fields and make the getters and setters be abstract.

On Wed, Jul 13, 2011 at 9:04 AM, Phil Steitz <phil.ste...@gmail.com> wrote:

> My recommendation would be to follow the model of
> AbstractRealMatrix: a) no instance fields for dimensions b) abstract
> dimension getters c) protected constructor that just checks positivity.
>

Reply via email to