D - Properties in Interfaces?
- Russ Lewis (34/34) May 28 2002 How about allowing people to define properties as members of
- OddesE (11/45) May 29 2002 I know Delphi supports this kind of construction and
How about allowing people to define properties as members of
interfaces? This would allow people to use member-data style syntax for
properties of interfaces, while still allowing it all to come through a
vtable:
interface MyIntf
{
void myProp(int val);
int myProp();
}
class MyClass : MyIntf
{
public:
void myProp(int val);
int myProp();
}
class MyClass2 : MyIntf
{
public:
int myProp;
}
MyIntf obj = new MyClass;
MyIntf obj2 = new MyClass2;
obj.myProp = 1;
obj2.myProp = 2;
printf("%d %d\n", obj.myProp, obj2.myProp);
In order for MyClass2 to work, the compiler would have to generate
wrapper accessor functions for the myProp property of that class, of
course. However, MyClass could work without any compiler-generated
code.
--
The Villagers are Online! http://villagersonline.com
.[ (the fox.(quick,brown)) jumped.over(the dog.lazy) ]
.[ (a version.of(English).(precise.more)) is(possible) ]
?[ you want.to(help(develop(it))) ]
May 28 2002
"Russ Lewis" <spamhole-2001-07-16 deming-os.org> wrote in message
news:3CF456D0.B775BF8E deming-os.org...
How about allowing people to define properties as members of
interfaces? This would allow people to use member-data style syntax for
properties of interfaces, while still allowing it all to come through a
vtable:
interface MyIntf
{
void myProp(int val);
int myProp();
}
class MyClass : MyIntf
{
public:
void myProp(int val);
int myProp();
}
class MyClass2 : MyIntf
{
public:
int myProp;
}
MyIntf obj = new MyClass;
MyIntf obj2 = new MyClass2;
obj.myProp = 1;
obj2.myProp = 2;
printf("%d %d\n", obj.myProp, obj2.myProp);
In order for MyClass2 to work, the compiler would have to generate
wrapper accessor functions for the myProp property of that class, of
course. However, MyClass could work without any compiler-generated
code.
--
The Villagers are Online! http://villagersonline.com
.[ (the fox.(quick,brown)) jumped.over(the dog.lazy) ]
.[ (a version.of(English).(precise.more)) is(possible) ]
?[ you want.to(help(develop(it))) ]
I know Delphi supports this kind of construction and
I think it is also in the IDL spec. Seems good enough
of an idea to me!
--
Stijn
OddesE_XYZ hotmail.com
http://OddesE.cjb.net
_________________________________________________
Remove _XYZ from my address when replying by mail
May 29 2002








"OddesE" <OddesE_XYZ hotmail.com>