On 07/26/2013 08:33 AM, Land wrote:

> What about inheritance and interfaces,
> though? Am I supposed to put all the interface/inherited methods into
> the object

At least technically, yes. There is no other way for interfaces and function overriding.

> and all the other, utility methods, as free functions?

Some people think that as long as a function can be implemented as a free-standing function, then it should be a free-standing function. My earlier canTravel() is a good example. (Aside: In D, there is no free-standing function, they are all at least parts of modules.)

Others think that any function closely related to a type should be a member function. Interestingly, canTravel() is good example here as well. :) Since most modern cars do report estimated distance the car can go with the remaining fuel, canTravel() can also be designed to be a member function.

Ali

Reply via email to