Real OOP with D

Ozan via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Aug 17 23:27:52 PDT 2015


On Monday, 17 August 2015 at 06:59:51 UTC, BBasile wrote:
> On Monday, 17 August 2015 at 05:57:52 UTC, Ozan wrote:
>> Hi
[...]
>>
>> Is there any way to get real OOP with D?
>>
>> Regards,  Ozan
>
> Can you name an OOP oriented language that allows this ? Your 
> example is eroneous OOP.
> The 2 other answers you 've got (the first using an interface 
> and the second using an abstract class) are valid OOP.
>
> One of the fundamental concept OOP is that a function defined 
> in a class exists also  in its subclasses. So how do you expect 
> `greeting()` to exist in Family if it's only defined in its 
> sub-classes ?
>
> You can verify that with the 'Liskov substitution principle' 
> (https://en.wikipedia.org/wiki/Liskov_substitution_principle).
> Actually your sample violates this principle.

Languages like Groovy or JavaScript (with the help of frameworks 
;-)
And I believe many more the newer ones.  But that's not the point.

And... This was not a criticism against D (... "bad D, has no 
understanding of OOP. Boahh"  ;-)
It was only a question about handling of a typical OOP problem in 
a class-typed implementation of OOP like D has. Thanks to every 
existing or new creative programming language, today we have so 
many other ways to solve our programming problems.

Regards Ozan


More information about the Digitalmars-d-learn mailing list