You lose the inability to mutate. If this inability to mutate was not part
of the intended contract of the superclass, it should not use the term
"read only".
On Thu, Oct 3, 2013 at 1:28 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:
> On Thu, Oct 3, 2013 at 12:33 PM, Mark S. Miller <erights@google.com>
> wrote:
> > You forgot to name the readonly one -- it specializes DOMRect by
> > guaranteeing that its instances not provide the ability to mutate the
> > underlying DOMRect. Given the other names, DOMRectReadOnly or
> DOMReadOnlyRec
> > (did you really mean to omit the "t"?) seem like fine names for the
> readonly
> > subtype.
>
> In Roc's explanation, the readonly one (you can't change the values,
> but something else might be able to) is the common superclass. As he
> argued, I'm pretty sure this satisfies LSP - an immutable class is a
> valid subclass of a readonly one (you lose nothing, and gain the
> ability to depend on the values staying constant), and a mutable class
> is also a valid subclass of a readonly one (again, you lose nothing,
> but you gain the abiilty to alter the values yourself).
>
> ~TJ
>
--
Cheers,
--MarkM