| Thread overview | ||||||
|---|---|---|---|---|---|---|
|
July 05, 2008 Interface reference | ||||
|---|---|---|---|---|
| ||||
I just read this in the book "Learn to Tango with D", page 73: "It is not possible to instantiate interfaces, but you can have references to class instances through the type of an interface that the class implements." Could anyone give an example of what this means? | ||||
July 05, 2008 Re: Interface reference | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Michael Koehmstedt | Michael Koehmstedt wrote: > I just read this in the book "Learn to Tango with D", page 73: > > "It is not possible to instantiate interfaces, but you can have references to class instances through the type of an interface that the class implements." > > Could anyone give an example of what this means? > > > interface I { void foo(); } class C : I { override void foo() {} } void main() { I i = new C; // reference to class instance of interface type i.foo(); } -- Kirk McDonald http://kirkmcdonald.blogspot.com Pyd: Connecting D and Python http://pyd.dsource.org | |||
July 05, 2008 Re: Interface reference | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Kirk McDonald | Thanks Kirk, a simple example is worth a thousand words!
Kirk McDonald Wrote:
> Michael Koehmstedt wrote:
> > I just read this in the book "Learn to Tango with D", page 73:
> >
> > "It is not possible to instantiate interfaces, but you can have references to class instances through the type of an interface that the class implements."
> >
> > Could anyone give an example of what this means?
> >
> >
> >
>
> interface I {
> void foo();
> }
>
> class C : I {
> override void foo() {}
> }
>
> void main() {
> I i = new C; // reference to class instance of interface type
> i.foo();
> }
>
> --
> Kirk McDonald
> http://kirkmcdonald.blogspot.com
> Pyd: Connecting D and Python
> http://pyd.dsource.org
| |||
July 06, 2008 Re: Interface reference | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Kirk McDonald | Kirk McDonald wrote:
> // reference to class instance of interface type
... which can be understood as being different from what Michael cited.
-manfred
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply