Abstract attribute ?

Lucien via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue May 17 10:25:09 PDT 2016


On Tuesday, 17 May 2016 at 16:58:30 UTC, Adam D. Ruppe wrote:
> On Tuesday, 17 May 2016 at 16:52:01 UTC, Lucien wrote:
>> Why a attribute cannot be abstract ?
>
> Because it cannot be virtual and cannot be overridden. This is 
> different than Python, but in line with other C-style languages 
> (and the lower level implementation)
>
> Use a property function instead to achieve this.
>
> abstract class A
> {
>   protected @property abstract int attr(); // a getter for attr
>   protected @property abstract attr(int); // a setter for attr, 
> if desired
> }
>
> class B : A
> {
>    override @property int attr() { return 0; } // implementation
> }

ok, thank you.


More information about the Digitalmars-d-learn mailing list