Abstract attribute ?

Adam D. Ruppe via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue May 17 09:58:30 PDT 2016


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
}



More information about the Digitalmars-d-learn mailing list