Weird behavior of "this" in a subclass, I think?
seashell86 via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Jul 15 18:20:10 PDT 2015
On Thursday, 16 July 2015 at 00:39:29 UTC, H. S. Teoh wrote:
> On Thu, Jul 16, 2015 at 12:18:30AM +0000, seashell86 via
> Digitalmars-d-learn wrote:
>> [...]
>
> The reason is that class variables cannot be overridden, only
> class methods can.
>
> If you want to simulate overriding of class variables, you can
> use a @property method instead:
>
> class Animal {
> @property string voice() { return "Wah!"; }
> void speak() { writeln(voice); }
> }
>
> class Dog : Animal {
> override @property string voice() { return "Whoof!"; }
> }
>
>
> T
Wow, a quick and thorough response! Thank you! I'm actually
curious as to why this feature would not be in the language? Is
it for performance reasons?
More information about the Digitalmars-d-learn
mailing list