Interfaces
ag0aep6g via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Apr 9 01:59:13 PDT 2016
On 09.04.2016 10:45, alexander Patapoff wrote:
> is there a way for me to do this in D? In java, one is able to create a
> new instance of an interface.
>
> interface Action
> {
> void actions(T t);
> }
>
> class testAction
> {
> this()
> {
> Action action = new Action()
> {
> void actions(T t){...}
> }
> }
>
> }
>
> I found this feature really useful in java. Is there any way I can
> duplicate this process, without the mixin func?
There is a somewhat obscure feature which lets you declare and
instantiate a class at the same time:
----
interface Action
{
void actions(int x);
}
void main()
{
Action action = new class Action {
void actions(int x) {/* ... */}
};
}
----
http://dlang.org/spec/class.html#anonymous
More information about the Digitalmars-d-learn
mailing list