Easy way to implement interface properties?
Gary Willoughby
dev at nomad.so
Wed Jan 1 06:30:46 PST 2014
On Wednesday, 1 January 2014 at 12:09:40 UTC, Jacob Carlborg
wrote:
> On 2014-01-01 01:52, Frustrated wrote:
>> Is there an easy way to implement properties of an interface
>> within a
>> class instead of having to duplicate almost the exact same
>> code with
>> generic properties?
>>
>> interface A
>> {
>> @property int data();
>> @property int data(int value);
>>
>> }
>>
>> class B : A
>> {
>> @property int data() { return m_data; } // read property
>> @property int data(int value) { return m_data = value; } //
>> write
>> property
>> }
>
> You can't use an abstract class?
Yes this is the ideal time to use an abstract base class and is
what i would do.
The same thing *could* be achieved using mixin templates, with or
without scopes but could lead to unmaintainable code. See the
examples on mixin templates here:
http://nomad.so/2013/07/templates-in-d-explained/
More information about the Digitalmars-d-learn
mailing list